黑马程序员技术交流社区

标题: 这个HashSet怎么不自己排序了呢? [打印本页]

作者: kenfine    时间: 2015-1-11 23:18
标题: 这个HashSet怎么不自己排序了呢?
  1.         public static void main(String[] args) {
  2.                 // TODO 自动生成的方法存根
  3.                 List<Integer> list = new LinkedList<Integer>();
  4.                 list.add(21);
  5.                 list.add(31);
  6.                 list.add(87);
  7.                 list.add(95);
  8.                 list.add(35);
  9.                
  10.                 Iterator<Integer> it = list.iterator();
  11.                 Set<Integer> set = new HashSet<Integer>();
  12.                 while(it.hasNext()){
  13.                         set.add(it.next());
  14.                 }
  15.                 for(int x:set){
  16.                         System.out.println(x);
  17.                 }
  18.                
  19.         }
复制代码

即便是将list.add(int)里面改为Integer也不行,求大神解读...
作者: kenfine    时间: 2015-1-11 23:39
哦,自己明白了,HashSet主要是阻止重复的散列集合,而没有排序功能
作者: kenfine    时间: 2015-1-11 23:42
直接把HashSet改成TreeSet就好了!
作者: outsider1020    时间: 2015-1-12 13:10
HashSet属于散列的存放类集,里面的内容是无序存放的,其不能保证元素的排列顺序。




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