(这个问题不是关于使用LinkedHashSet
而不是HashSet
)
我知道HashSet
不保留任何添加顺序:
它不保证集合的迭代顺序;特别是,它不保证订单会随着时间的推移保持不变
假设有一个程序将完全相同的元素以相同的顺序添加到HashSet
并输出元素。
HashSet<Integer> set = new HashSet<Integer>();
Random random = new Random(1000);
for (int i = 0; i < 1000; i++)
set.add(random.nextInt());
set.forEach(s -> System.out.println(s));
如果我多次重新运行同一个程序,输出保证是否相同?