草庐IT

arrayList

全部标签

Java 泛型不兼容类型(不存在类型变量 T 的实例)

这基本上是我第一次接触Java泛型类型,我无法弄清楚以下代码有什么问题。我有一个助手类Helper具有静态功能inRange使用通用类型,它应该从输入列表中返回对象列表,这些对象位于某些range中围绕索引index处的对象(我还没有测试过,能不能用不是问题):publicclassHelper{publicstaticListinRange(Listlist,intindex,intrange){Listres=newArrayList();intN=list.size();assert(index然后我想在类里面使用它:importjava.util.ArrayList;publi

java - 类型推断如何用于方法调用?

考虑以下示例:publicclassLearn{publicstaticTtest(Ta,Tb){System.out.println(a.getClass().getSimpleName());System.out.println(b.getClass().getSimpleName());b=a;returna;}publicstaticvoidmain(String[]args){test("",newArrayList());}}在main方法,我正在调用test用String和一个ArrayList目的。两者是不同的东西并分配一个ArrayList至String(通常)给出编

java - 为什么 ArrayList 实现使用 Object[]?

在Java中ArrayList基于对象数组的实现。有人能解释一下为什么要执行ArrayList吗?使用数组Object[]用于数据存储而不是E[]?使用Object[]有什么好处?? 最佳答案 在Java中,创建泛型数组并不简单。简单的方法不编译:publicclassContainer{E[]arr=newE[3];//ERROR:CannotcreateagenericarrayofE}将E替换为Object,一切都很好(代价是在容器实现的其他地方增加了复杂性)。有多种替代方法,但它们呈现出一组不同的权衡。有关广泛的讨论,请参阅

java - 如何找到java中两个时间戳的差异?

我有一个包含多个时间戳的ArrayList,目的是找到ArrayList的第一个和最后一个元素的区别。Stringa=ArrayList.get(0);Stringb=ArrayList.get(ArrayList.size()-1);longdiff=b.getTime()-a.getTime();我也将类型转换为int但它仍然给我一个错误ThemethodgetTimeisundefinedforthetypeString。附加信息:我有一个A类,其中包括StringtimeStamp=newSimpleDateFormat("ssS").format(newDate());还有一

java - java arrayList remove(element) 的时间复杂度

我试图绘制ArrayList的remove(element)方法的时间复杂度图。我的理解是它应该是O(N),但是它给了我O(1)。谁能指出我在这里做错了什么?提前谢谢你。publicstaticvoidarrayListRemoveTiming(){longstartTime,midPointTime,stopTime;//Spinthecomputeruntilonesecondhasgoneby,thisallowsthis//threadtostabilize;startTime=System.nanoTime();while(System.nanoTime()-startTim

java - 在循环中创建具有不同名称的多个对象以存储在数组列表中

我正在尝试创建我创建的类的多个对象。然后我想将这些值传输到数组列表中。如何使用具有不同名称的while循环创建对象。例如,现在这是我的代码,但它只会创建一个名称的对象。Customercust=newCustomer("bob",20.0);还有我的构造器,如果你想看的话:publicCustomer(StringcustomerName,doubleamount){Stringname=customerName;doublesale=amount;}StoreTest类(带有main方法):importjava.util.ArrayList;importjava.util.Scann

Java ArrayList Contain 总是返回 false,尽管它包含相同的值

这是我的洞课classHole{publicinta;publicintb;Hole(inta,intb){this.a=a;this.b=b;}所以我添加了一个包含几个洞的ArrayListpublicvoidcheckPathLoop(intx,inty){//roughcodeArrayListleftFlowInnerHole=newArrayList();//leftholesrulesleftFlowInnerHole.add(newHole(0,1));leftFlowInnerHole.add(newHole(1,5));leftFlowInnerHole.add(ne

java - ArrayList indexOf 复杂度是 N 吗?

我在arraylist中有N个数字。要获取indexOf,arraylist最多需要迭代N次,因此复杂度为O(N),对吗? 最佳答案 来源JavaAPI是的,复杂度是O(N)。size、isEmpty、get、set、iterator和listIterator操作在恒定时间内运行。添加操作以摊销常数时间运行,即添加n个元素需要O(n)时间。所有其他操作都以线性时间运行(粗略地说)。与LinkedList实现相比,常数因子较低。 关于java-ArrayListindexOf复杂度是N吗?

java - 创建无界和有界通配符类型数组之间的区别?

为什么这段代码有效ArrayList[]arr=newArrayList[2];但是下面两个不是?ArrayList[]arr=newArrayList[2];ArrayList[]arr=newArrayList[2];最后两行产生编译错误;error:genericarraycreation.请说明区别。更新另一方面ArrayList[]arr=newArrayList[2];编译不错但是ArrayListarr=newArrayList();不是。 最佳答案 这里有几个问题,让我们依次看一下:类型绑定(bind)(即exten

java - 遍历列表,更好的方法

当我在Java中编码和发现新的做事方式时,我总是对循环遍历列表以输出数据的更好方法感到困惑。在下面的示例中,我循环遍历列表并使用计数器,因此很多次我不得不在输出中包含索引计数器。我偏爱方法1,但我发现这些方法都有些过时了。我见过很多循环遍历列表的例子,主要使用方法2。所以我的问题是什么是更好的方法,如果所有这些方法都一样,那么最标准的是什么?privateArrayListlist=newArrayList();publicTest(){list.add("One");list.add("Two");list.add("Three");list.add("Four");list.add