Java容器学习心得--Set容器

时间:2022-01-31 13:41:28
  1. HashSet需要重写equals和hashCode
  2. TreeSet需要重写equals和compareTo
  3. 两个函数返回的结果应该一致
  4. 一般情况下,HashSet和TreeSet中只放入不可变对象,final修饰属性
  5. new Comparator(){ public int compare(Object o1,Object o2){ …… } }匿名类可作为TreeSet参数
  6. compareTo(Object o)返回负值代表this比o小,this.num-o.getNum()
  7. 据说HashSet性能总是比TreeSet好,需要排序才使用TreeSet
  8. LinkedHashSet插入删除略慢于HashSet,但遍历更快
  9. EnumSet性能最好,但只能保存同一个枚举类的枚举值
  10. HashSet、TreeSet、EnumSet都是线程不安全的