java - 按索引从 Collection 中获取值(value)的最佳方式

标签 java collections

按索引从 java.util.Collection 获取值(value)的最佳方法是什么?

最佳答案

你不应该。 Collection 避免专门讨论索引,因为它可能对特定的集合没有意义。例如,List 暗示某种形式的排序,但 Set 不暗示。

Collection<String> myCollection = new HashSet<String>();
myCollection.add("Hello");
myCollection.add("World");

for (String elem : myCollection) {
    System.out.println("elem = " + elem);
}

System.out.println("myCollection.toArray()[0] = " + myCollection.toArray()[0]);

给我:

elem = World
elem = Hello
myCollection.toArray()[0] = World

同时:

myCollection = new ArrayList<String>();
myCollection.add("Hello");
myCollection.add("World");

for (String elem : myCollection) {
    System.out.println("elem = " + elem);
}

System.out.println("myCollection.toArray()[0] = " + myCollection.toArray()[0]);

给我:

elem = Hello
elem = World
myCollection.toArray()[0] = Hello

为什么要这样做?你不能只遍历集合吗?

关于java - 按索引从 Collection 中获取值(value)的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1047957/

相关文章:

java - 我的 Java 程序出现错误,我认为这是一个小错误,但我不知道该怎么办?

java - 错误 : SSLHandshakeException

java - 如何从属性文件 Selenium WebDriver 中获取下拉选项?

scala - Scala映射到HashMap

Scala 展平 String 和 List[String] 的列表

java - 斐波那契函数的困难

java - 有效使用 Collections.unmodifying*()

python - 错误: unhashable type = 'list'

java - 使用 lambda 优化流

ios - 使用 uicollectionview Swift 更新单个 View