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方法), 对象存入之后会按照指定的顺序排列
浙公网安备 33010602011771号