草庐IT

arrayList

全部标签

Java:有没有有效结合HashMap和ArrayList的容器?

我一直发现需要一个既是HashMap(用于快速查找键类型)又是ArrayList(用于通过整数索引快速访问)的容器.LinkedHashMap几乎是正确的,因为它保留了一个可迭代列表,但不幸的是它是一个链接列表...检索第N个元素需要从1迭代到N.是否有一种容器类型符合此要求但我不知何故错过了?当其他人需要通过键和通过索引访问同一组数据时,他们会怎么做? 最佳答案 看看ApacheCommonsLinkedMap. 关于Java:有没有有效结合HashMap和ArrayList的容器?,

java - 如何将 ArrayList<String> 添加到 JSON 数组 - 牢记类型安全

Eclipse显示类型安全警告,我尝试了几乎所有方法来消除它(当然抑制它是一种选择)但不幸的是我没有任何成功。你知道我必须如何更改我的代码才能不再有类型安全警告吗?或者@SuppressWarnings("unchecked")是唯一的方法吗?ArrayListarrayList=(ArrayList)Classname.getArrayList();JSONArrayobj=newJSONArray();obj.addAll(arrayList);在最后一行显示以下类型的安全警告:Typesafety:ThemethodaddAll(Collection)belongstothera

java - 公开内部集合项时应该使用 Iterator 还是 Iterable?

我有一个带有私有(private)可变数据列表的类。我需要在以下条件下公开列表项:列表不应在外部修改;使用getter函数的开发人员应该清楚,他们获得的列表无法修改。应将哪个getter函数标记为推荐方法?或者你能提供更好的解决方案吗?classDataProcessor{privatefinalArrayListsimpleData=newArrayList();privatefinalCopyOnWriteArrayListcopyData=newCopyOnWriteArrayList();publicvoidmodifyData(){...}publicIterablegetU

java - JDK API 文档对于 ArrayList 构造函数不正确。那是一个错误吗?

ArrayListconstructor的JDK文档表示初始容量为10。这实际上是错误的,因为在列表中添加内容之前初始容量为0。我查看了OpenJDK的源码以及JDK自带的src.zip。我知道这是一项性能优化,但这会被视为错误吗? 最佳答案 仅对JDK最多6个有效这不是错误。用于存储列表元素的内部数组的初始容量为10。这并不意味着列表的大小是10。只是创建了一个大小为10的空数组。当一个对象被添加到列表中时,指向最后一个元素的内部指针被移动一个。如果数组的容量不足,则创建另一个容量更大的数组,并将旧数组复制到新数组的第一部分。此时

java - 使用 HashSet 而不是 ArrayList 来传达意图?

假设我需要创建一个元素集合,其中的顺序可能重要也可能无关紧要。实际上,我计划做的就是使用迭代器。我注意到我的大多数同事使用ArrayList与LinkedHashSet/HashSet。我的问题是,如果我知道这些元素应该是唯一的,我应该使用集合还是列表?实际上它并没有真正产生影响,但是Set不是更有效地传达了元素是唯一的吗?我发现这对于大型企业应用程序来说是一个有趣的问题,原因如下:1)如果你不能保证代码的整体质量,使用Set是很危险的。为什么?因为equals()和哈希码可能会被错误地覆盖,因此使用Set可能会导致一些非常讨厌的问题。2)使用列表对future的变化更有弹性。如果出于

java - 为什么 Java 7 和 Eclipse 3.8 编译器无法使用新的 Java 7 菱形运算符编译 JDK 代码?

importjava.util.*;publicclassSimpleArrays{@SafeVarargspublicstaticListasList(T...a){returnnewArrayList(a);}}asList()取自java.util.Arrays的OraclesJDK实现。错误是error:cannotinfertypeargumentsforArrayListreturnnewArrayList(a);1error这是如何工作的?Oracle使用与我们相同的编译器。 最佳答案 注意:java.util.Arr

java - 如何将File[]数组内容添加到ArrayList中?

这个问题在这里已经有了答案:CreateArrayListfromarray(42个回答)关闭9年前。我有一个数组:File[]temp=null;我有一个文件类型的arrayList:ListtempList=newArrayList();现在我想将temp中的内容添加到tempList中。所以任何人都可以告诉我我该怎么做?

java - 读取由制表符分隔的文件并将单词放入 ArrayList

我正在做一个自学练习,以帮助我更多地了解Java,但我被困在这个问题上。我有以下txt文件:NameHobbySusyeatfishAnnagardeningBillybowlingwithfriends注意:姓名和爱好用制表符分隔读取所有行并将其放入arraylist(name,hobby)的最佳方法是什么。棘手的部分是eatfishorbowlingwithfriends有空格,它必须放在一个数组下,显然我不能对它进行硬编码。这是我当前的代码:publicvoidopenFile(){try{FileInputStreamfstream=newFileInputStream("te

java - 有没有一种首选方法可以将列表流收集到一个平面列表中?

我想知道,是否有一种首选方法可以从列表流获取包含流中所有列表元素的集合。我可以想到两种方法:finalStream>stream=Stream.empty();finalListone=stream.collect(ArrayList::new,ArrayList::addAll,ArrayList::addAll);finalListtwo=stream.flatMap(List::stream).collect(Collectors.toList());第二个选项对我来说看起来更好,但我猜第一个在并行流中更有效。是否有进一步的论据支持或反对这两种方法之一?

java - Maven clean 命令 : java. util.Collections.UnmodifiableRandomAccessList 到 java.util.ArrayList 类型的属性

执行cleanmaven命令时,出现如下错误:Failedtoexecutegoalorg.codehaus.mojo:findbugs-maven-plugin:3.0.0:findbugs(findbugs)onUnabletoparseconfigurationofmojoorg.codehaus.mojo:findbugs-maven-plugin:3.0.0:findbugsforparameterpluginArtifacts:Cannotassignconfigurationentry'pluginArtifacts'withvalue'${plugin.artifact