我刚开始学习有关集合,有人提到它不关心顺序,与列表不同。Java - 设置不按顺序打印
然而,当我键入这段代码:
public class test {
public static void main(String[] args) {
Set<Integer> nums = new HashSet<Integer>();
nums.add(0);
nums.add(1);
nums.add(2);
nums.add(3);
for (Integer num : nums)
System.out.println(num);
}
}
基于第一线,输出应该是随机的,而是它给了有序输出:
0
1
2
3
我有试图加扰号码被添加的顺序,像这样:
public class test {
public static void main(String[] args) {
Set<Integer> nums = new HashSet<Integer>();
nums.add(1);
nums.add(0);
nums.add(3);
nums.add(2);
for (Integer num : nums)
System.out.println(num);
}
}
奇怪的是,输出仍然是有序的!
在我打印其元素之前,有什么不知何故排序的设置? 或者是HashSet
不适用于创建无序集?
不具有由于某些事情的保证是不一样的具有对于某些东西相反的保证。 – null 2014-12-13 15:34:44