java - "A List is an ordered Collection..."是什么意思?

标签 java collections

我是 Collections 的新手,对于这个微不足道的问题我提前表示抱歉,但我一直在思考我在 Java 教程中读过的一句话

A List is an ordered Collection (sometimes called a sequence).

我从中了解到的是,当我将元素放入列表中时,它会为我自动排序,并且由于我运行了一个简单的代码,所以证明我错了:

List <String> list = new ArrayList<String>();

list.add("Chris");
list.add("Brian");
list.add("Matt");
list.add("Greg");

for (Iterator<String> it = list.iterator();it.hasNext();) {
    System.out.print(it.next()+"\n");
}

这导致没有以任何方式订购:

Chris
Brian
Matt
Greg

所以我的问题是“列表是有序集合”是什么意思?

谢谢

最佳答案

有序并不意味着已排序,而是意味着项目将按照您放置的顺序显示。

这与 SortedSet 形成鲜明对比,SortedSet 中的项目不会按照您放入的顺序进行排序,它们将根据您输入的任何排序标准进行排序,或者与 HashMap 形成鲜明对比,HashMap 中的项目可能会显示在任何顺序,具体取决于哈希函数。

关于java - "A List is an ordered Collection..."是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16925638/

相关文章:

java - 字符串和映射比较

java - 约束特定键 - HashMap 的约定 - Java

java - 保持条目按添加顺序的映射实现

java - 使用端口转发运行 docker 失败

java - 在编译时选择类实现

java - git jenkins 和生产构建方法

collections - 如何在Kotlin中使用不可变的持久性集合?

Java 扩展集合过滤

java - 如何在 ArrayList 中搜索元素? - java

java - 为什么要强制转换为同一类型?