Java容器学习心得--Set容器
- 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都是线程不安全的
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步