【发布时间】:2013-06-04 19:10:11
【问题描述】:
我是 Collections 的新手,对于这个琐碎的问题我很抱歉,但我一直在思考我在 Java 教程中读到的一句话
List 是一个有序的集合(有时称为序列)。
我从中了解到,当我将元素放入列表时,它会为我自动排序,并且由于我运行了一个简单的代码,因此证明我错了:
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
所以我的问题是“列表是有序集合”是什么意思?
谢谢
【问题讨论】:
-
非常有序。您将
ordered与sorted混淆了。 -
它是有序的,从某种意义上说,您在迭代时获取项目的顺序与您将项目插入其中的顺序相同。
-
@Keppil "ordered" 通常意味着按任何东西排序 - 插入顺序、字典顺序、随机顺序或其他。只有在这种情况下,“ordered”才代表“ordered by inserting order”。
-
@delnan:我没有说广告订单。
-
@Keppil 你最好考虑一下 ;-) 我的意思是,“[按 X] 排序”也是一个命令。排序后的集合是按通常意义上的(按 X)排序的,而不是数据结构意义上的“有序”。
标签: java collections