TreeSet的原理是什么?使用需要注意什么?

TreeSet 基于 TreeMap 实现,TreeMap 基于红黑树实现

特点:

  • 有序
  • 无重复
  • 添加、删除元素、判断元素是否存在,效率比较高,时间复杂度为 O(log(N))

使用方式:

  • TreeSet 默认构造方法,调用 add() 方法时会调用对象类实现的 Comparable 接口的 compareTo() 方法和集合中的对象比较,根据方法返回的结果有序存储
  • TreeSet 默认构造方法,存入对象的类未实现 Comparable 接口,抛出 ClassCastException
  • TreeSet 支持构造方法指定 Comparator 接口,按照 Comparator 实现类的比较逻辑进行有序存储

  

来一道刷了进BAT的面试题?

原文地址:https://www.cnblogs.com/ConstXiong/p/11910019.html