java017.Set集合

Set集合:
 HashSet 随机存储
 LinkedHashSet 存取顺序一致
 TreeSet

HashSet:
 boolean b1 = hs.add("a"); //存取成功返回true,不成功返回false(有重复值时存取不成功!)
 存储自定义对象,并保证元素唯一性:需要在自定义对象中重写hashCode()和equals()方法(eclipse中Shift+Alt+s+h)!(在基本数据类型的包装类和String中都已重写。)

LinkedHashSet:顺序存储,不需要重写什么东西,但是不能存储重复元素,一般用于去重
  LinkedHashSet<String> lhs = new LinkedHashSet<>();
  lhs.addAll(list);    //将list集合中的所有元素添加到lhs
  list.clear();     //清空原集合
  list.addAll(lhs);    //将去除重复的元素添回到list中

TreeSet:
 存储自定义对象,需要实现comparable接口 并重写compareTO方法,当重写的方法返回 0 时,TreeSet只会存储第一个值,当返回一个确定的正数时,怎么存就怎么取,当返回一个负数时,倒序存储。基本数据类型的包装类和String已实现并重写,可以保证元素唯一和自然排序。
 特点:TreeSet是用来排序的, 可以指定一个顺序(按照重写的compareTo方法), 对象存入之后会按照指定的顺序排列

 

posted on 2016-08-17 19:18  迷失de  阅读(180)  评论(0)    收藏  举报