什么是 TreeSet
TreeSet 是一个具有唯一元素的二叉树的集合,又被翻译为 树集。Java 中的 TreeSet 类是 Java 集合框架的一部分,从 Java 6 开始,它实现了 NavigableSet
接口(这个接口增加了几个查找元素以及反向遍历的便利方法),从而扩展了 SortedSet
集合。
TreeSet 类与散列类十分相似,不过,它比普通的集合有所改进,树集是一个有序集合(sorted collection),该数据结构的元素按自然顺序排序。
SortedSet
接口提供了保持元素排序的功能。Navigableset
接口提供了可以通过SortedSet
检索的功能。例如,找到该元素大于或小于给定元素,找到排序集中的第一个和最后一个元素。
接口 API
我们来看看 TreeSet 的接口:
TreeSet()
public TreeSet() { this(new TreeMap<>()); }
TreeSet(Comparator<? super E> comparator)
public TreeSet(Comparator<? super E> comparator) { this(new TreeMap<>(comparator)); }
TreeSet(Collection<? extends E> c)
public TreeSet(Collection<? extends E> c) { this(); addAll(c); }
TreeSet(SortedSet<E> s)
public TreeSet(SortedSet<E> s) { this(s.comparator()); addAll(s); }