// 通过生成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 迭代出的结果是有序的?
*/
|
|