- HashSet需要重写equals和hashCode
- TreeSet需要重写equals和compareTo
- 两个函数返回的结果应该一致
- 一般情况下,HashSet和TreeSet中只放入不可变对象,final修饰属性
- new Comparator(){ public int compare(Object o1,Object o2){ …… } }匿名类可作为TreeSet参数
- compareTo(Object o)返回负值代表this比o小,this.num-o.getNum()
- 据说HashSet性能总是比TreeSet好,需要排序才使用TreeSet
- LinkedHashSet插入删除略慢于HashSet,但遍历更快
- EnumSet性能最好,但只能保存同一个枚举类的枚举值
- HashSet、TreeSet、EnumSet都是线程不安全的
相关文章
- 列表 list 容器类型数据(str字符串, list列表, tuple元组, set集合, dict字典)--->元组 tuple-->字符串 str
- Java容器解析系列(0) 开篇
- 【Java入门提高篇】Day29 Java容器类详解(十一)LinkedHashSet详解
- C++进阶(map+set容器模拟实现)
- 【公开课】【阿里在线技术峰会】魏鹏:基于Java容器的多应用部署技术实践
- 【Java入门提高篇】Day26 Java容器类详解(八)HashSet源码分析
- Java容器类List、ArrayList、Vector及map、HashMap
- Java容器类浅析二-----HashMap的存取原理
- Java容器类源码分析之Iterator与ListIterator迭代器(基于JDK8)
- 【Java入门提高篇】Day23 Java容器类详解(六)HashMap源码分析(中)