黑马程序员技术交流社区
标题:
HashSet 存储元素的疑惑
[打印本页]
作者:
783373073
时间:
2016-6-28 15:04
标题:
HashSet 存储元素的疑惑
// 通过生成1-100的随机数 然后添加在HashSet集合中(HashSet的容量设置为100),
public static void main(String[] args) {
HashSet<Integer> hs = new HashSet<>();
Random rd = new Random();
while (hs.size() < 100) {
hs.add(rd.nextInt(100) + 1);
}
System.out.println(hs);
}
}
/* 第1个疑惑: 迭代出的结果是从(1-100)顺序排列的 。为什么 HsahSet迭代出的结果是有序的? HashSet说法是不保证有序(有序情况虽然也包含在不保证情况中) 但是为什么每次迭代出的结果都是从 (1-100)顺序排列的.
第2个疑惑: 为什么将 while (hs.size() < 100) 改为 while (hs.size() < 20 ) 迭代出的结果是无序的?
第3个疑惑: 为什么将 代码改为
hs.add(rd.nextInt(100) + 1+100000);
for (Integer it : hs) {
System.out.print(it-100000+" ");
} 插入的时候加100000 迭代时候减去100000 迭代出的结果是无序的?
第4个疑惑: 为什么将 代码改为
hs.add(rd.nextInt(100) + 1+100);
for (Integer it : hs) {
System.out.print(it-100+" ");
} 插入的时候加100迭代时候减去100 迭代出的结果是有序的?
*/
作者:
783373073
时间:
2016-6-29 09:10
哪位大神帮忙解答一下 啊
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2