黑马程序员技术交流社区

标题: HashSet遍历输出顺序问题 [打印本页]

作者: wlsperfect    时间: 2016-3-30 16:25
标题: HashSet遍历输出顺序问题
HashSet<String> hs = new HashSet<>();
    hs.add("b");
    hs.add("a");
    hs.add("b");
for (String string : hs) {
                        System.out.print(string + " ");
                }


请问这个程序的输出结果为什么总是  b a  ???????  而不是  a b 呢?????

作者: lgdbest    时间: 2016-3-30 17:41
先添加b,然后a 然后又添加b的时候,发现有了  所以不添加 然后输出就是ba
作者: ameanboy    时间: 2016-3-30 17:46
楼上说对一半,但是hashset的存储顺序与内部使用的hash算法有关,不一定跟自然顺序一致,所以遍历出来的结果是乱序的




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