草庐IT

ArrayList和LinkedList

全部标签

java - 替换 ArrayList 中的对象

我需要知道如何替换ArrayList中的对象.我有一个名为ArrayList的数组列表.此列表最初仅列出了5种动物。Animalanimal=newAnimal();animal.setName("Lion");animal.setId(1);ArrayLista=newArrayList();a.put(animal);//likewiseiwillbeadding5-6animalshere.稍后,我将从这个数组列表中取出一个对象并对其进行修改。AnimalmodifiedAnimal=newAnimal();animal.setName("BrownLion");animal.s

java - ArrayList 中 ensureCapacity 方法中使用的逻辑

我正在浏览ArrayList的源代码。我遇到了ensureCapacity()方法,它增加了内部使用的数据数组的容量。其中,数据数组的新容量根据逻辑intnewCapacity=(oldCapacity*3)/2+1;增加,其中旧容量是当前数据数组的大小。选择(oldCapacity*3)/2+1作为新的数组大小有什么特别的原因吗?如果是的话是什么?/***IncreasesthecapacityofthisArrayListinstance,if*necessary,toensurethatitcanholdatleastthenumberofelements*specifiedby

java - 从 ArrayList 到 Collection 的转换

我在转换过程中遇到了困难。我不知道是否存在语法错误,或者这甚至是不可能的。我需要从——转换privatestaticfinalListCONTACTS=Arrays.asList(newContact("text1","name1"),newContact("text2","name2"),newContact("text3","name3"));到--Collectionc=newArrayList(Arrays.asList(--?--))--?---->(我不明白这里是什么)通过这样做,我打算避免UnsupportedOperationException。感谢任何帮助,谢谢!嘿,

java - ArrayList 的不安全或未经检查的操作

我被指派编写一个程序,该程序获取0-25之间的100个随机整数并将它们存储在一个数组中。然后我必须调用2种方法来拆分偶数和赔率(非常典型)。所以我尝试了ArrayList的东西(我刚刚学会了它)并且它看起来很好(我正在关注在线教程和东西)直到我遇到这个:Unit8.java使用未经检查或不安全的操作我的代码是这样的:importjava.util.*;importjava.awt.*;publicclassUnit8{publicstaticvoidmain(String[]args){//createanarrayfororiginal100integers//createa2Dar

java - 创建初始容量为 0 的 ArrayList 的优点?

我是一个有点经验的Java开发人员,我经常看到这样的事情Listl=newArrayList(0);我实在是看不懂。当您知道它会增长到超出容量时,创建初始容量为0的ArrayList有什么意义?这样做有什么已知的好处吗? 最佳答案 它使ArrayList的大小(在内存中)非常小,当您希望变量为非null并准备好使用时,这是一种策略,但不要expectList立即被填充。如果您希望它立即被填充,最好给它一个更大的初始值-ArrayList的任何“增长”都是在内部创建一个新的原始数组,并将项目复制过来。ArrayList的增长是昂贵的,

java - 如何检查我的 arraylist 中是否有不在 hashmap 中的元素?

我有一个List在java它包含一些字符串。我还有一个hashmap与String值,我想检查我的列表中是否有任何元素不在HashMap中。这是我写的代码:ListsomeStrings=fetchData();if(someStrings.stream().noneMatch(s->myHashMap.containsValue(s))){returnfalse;}returntrue;但它不能正常工作。你能帮我吗? 最佳答案 鉴于你的情况是ifthere'sanyelementinmyListthatisnotintheHash

java - 将 int 存储在 ArrayList 中并将其返回原始变量 int - Java

我收到一个错误,但找不到解决方法。我将一个int添加到ArrayList。intn=1;ArrayListlist=newArrayList();list.add(n);再往下,我试着把它放回另一个int中:grid[y][x]=list.get(0);我也试过这个:grid[y][x]=(int)list.get(0);但是它不起作用,我得到这个错误:found:java.lang.Objectrequired:intgrid[y][x]=(int)list.get(0);^我希望有人能帮助我。 最佳答案 使用类型参数而不是原始的

java - 如何在 Java 中将 ArrayList<subClass> 转换为 ArrayList<super>

我有一个方法setData(ArrayListlist),所以任何想要设置数据的人都可以拥有自己的实体,只需要从父类(superclass)扩展。但是当他们调用setData,他们如何将ArrayList转换为ArrayList?现在我使用setData(newArrayList(list)),但这不是一个好的解决方案。任何人都可以告诉我如何转换或其他解决方案可以避免该问题。非常感谢! 最佳答案 这取决于您之后要对列表执行的操作。如果你只是想从中读取,你可以像这样声明你的方法:setData(ArrayListlist)不过,您不能

java - 没有类型的 ArrayList 泛型

最近看了一段代码,觉得很奇怪。正如我们所知,当我们需要使用它们时,我们需要初始化集合中的泛型类型。此外,我们知道集合可以包含集合作为它们的元素。代码:publicclassSolution{publicstaticvoidmain(Stringargs[]){ArrayListres=returnlist();System.out.print(res.get(0));}publicstaticArrayList>returnlist(){ArrayListresult=newArrayList();ArrayListcontent=newArrayList();content.add(

java - 如何从对象的 ArrayList 中获取属性列表

假设我有一个看起来像这样的对象:publicclassObj{Stringfoo;Stringbar;}如果我创建一个Obj类型的数组列表并填充它,有没有一种方法可以从ArrayList返回数组的foo属性中所有对象的列表?编辑:我应该更清楚,我不想通过迭代来做到这一点 最佳答案 试试这个:Collectionnames=CollectionUtils.collect(personList,TransformerUtils.invokerTransformer("getName"));使用apachecommonscollectio