一起学习集合框架之 TreeSet(上)

简介: TreeSet 是一个具有唯一元素的二叉树的集合,又被翻译为 树集。Java 中的 TreeSet 类是 Java 集合框架的一部分,从 Java 6 开始,它实现了 NavigableSet 接口(这个接口增加了几个查找元素以及反向遍历的便利方法),从而扩展了 SortedSet 集合。

什么是 TreeSet


TreeSet 是一个具有唯一元素的二叉树的集合,又被翻译为 树集。Java 中的 TreeSet 类是 Java 集合框架的一部分,从 Java 6 开始,它实现了 NavigableSet 接口(这个接口增加了几个查找元素以及反向遍历的便利方法),从而扩展了 SortedSet 集合。


image.png

TreeSet 类与散列类十分相似,不过,它比普通的集合有所改进,树集是一个有序集合(sorted collection),该数据结构的元素按自然顺序排序。


  • SortedSet 接口提供了保持元素排序的功能。
  • Navigableset 接口提供了可以通过 SortedSet 检索的功能。例如,找到该元素大于或小于给定元素,找到排序集中的第一个和最后一个元素。


接口 API

image.png


我们来看看 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);
    }
相关文章
|
7月前
|
存储 算法 Java
集合框架应用一
集合框架应用一
61 2
|
26天前
集合框架
List接口:有序集合,允许重复元素。常用实现类有ArrayList和LinkedList。 List<String> list = new ArrayList<>(); list.add("apple"); list.add("banana"); list.add("apple"); Set接口:无序集合,不允许重复元素。常用实现类有HashSet、TreeSet。 Set<String> set = new HashSet<>(); set.add("apple"); set.add("banana"); Map接口:键值对映射,键不能重
|
5月前
|
存储 算法 安全
Java集合框架详解
Java集合框架详解
|
7月前
|
存储 Java 容器
初识Java集合框架
初识Java集合框架
|
6月前
|
存储 安全 算法
深入探索Java集合框架
深入探索Java集合框架
|
7月前
|
存储 供应链 Java
集合框架应用二
集合框架应用二
47 1
|
7月前
|
存储 Java 索引
Java集合框架
Java集合框架
36 0
|
存储 Java 索引
Java集合框架详解(一)
Java集合框架详解(一)
|
算法 Java
一起学习集合框架之 TreeSet(下)
TreeSet 是一个具有唯一元素的二叉树的集合,又被翻译为 树集。Java 中的 TreeSet 类是 Java 集合框架的一部分,从 Java 6 开始,它实现了 NavigableSet 接口(这个接口增加了几个查找元素以及反向遍历的便利方法),从而扩展了 SortedSet 集合。
一起学习集合框架之 TreeSet(下)
|
存储 Java 索引
Java集合框架详解1
Java集合框架详解1
119 0
Java集合框架详解1