黑马程序员技术交流社区

标题: 为什么HashSet集合中的元素多了就会没反映呢? [打印本页]

作者: 左右.律    时间: 2016-9-9 23:17
标题: 为什么HashSet集合中的元素多了就会没反映呢?
    代码如下
[AppleScript] 纯文本查看 复制代码
HashSet<Integer> hs = new HashSet<>();
               
                while (hs.size() < 10) {
                        int x = (int) (Math.random()*20) + 1;
                        hs.add(x);
                }
       
                for (Integer i : hs) {
                        System.out.println(i);
                }
当集合长度等于10的时候,一切正常,而当长度改为20的时候,就会出现基本有序现象,结果如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
17
16
19
18
20

可以看出就19的位置出现的有点误差.
更加没法理解的是,当把长度改为30的时候,直接就没反应了,求大牛解决.

作者: huangbinqqian    时间: 2016-9-9 23:30
我用随机函数,添加1-30的数字,没有乱序。。。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2