Java TreeSet 类



介绍

Java TreeSet 类实现了 Set 接口。以下是关于 TreeSet 的重要几点:

  • TreeSet 类保证映射表将按升序排列,并由 TreeMap 支持。

  • 映射表根据键类的自然排序方法进行排序,或者根据在集合创建时提供的 Comparator 进行排序,这取决于使用哪个构造函数。

  • 为了使树正常工作,排序必须是全序的。

类声明

以下是 java.util.TreeSet 类的声明:

public class TreeSet<E>
   extends AbstractSet<E>
   implements NavigableSet<E>, Cloneable, Serializable

参数

以下是 java.util.TreeSet 类的参数:

E - 此集合维护的元素类型。

类构造函数

序号 构造函数及描述
1

TreeSet()

此构造函数构造一个新的空树集,根据其元素的自然顺序进行排序。

2

TreeSet(Collection<? extends E> c)

此构造函数构造一个新的树集,其中包含指定集合中的元素,根据其元素的自然顺序进行排序。

3

TreeSet(Comparator<? super E> comparator)

此构造函数构造一个新的空树集,根据指定的比较器进行排序。

4

TreeSet(SortedSet<E> s)

此构造函数构造一个新的树集,其中包含与指定排序集相同的元素并使用相同的排序。

类方法

序号 方法及描述
1 boolean add(E e)

如果指定的元素不存在,此方法会将该元素添加到此集合中。

2 boolean addAll(Collection<? extends E> c)

此方法将指定集合中的所有元素添加到此集合中。

3 E ceiling(E e)

此方法返回此集合中大于或等于给定元素的最小元素,如果不存在这样的元素,则返回 null。

4 void clear()

此方法从此集合中删除所有元素。

5 Object clone()

此方法返回此 TreeSet 实例的浅表副本。

6 boolean contains(Object o)

如果此集合包含指定的元素,则此方法返回 true。

7 Iterator<E> descendingIterator()

此方法返回此集合中元素的迭代器,其顺序为降序。

8 NavigableSet<E> descendingSet()

此方法返回此集合中所包含元素的逆序视图。

9 E first()

此方法返回当前此集合中的第一个(最小)元素。

10 E floor(E e)

此方法返回此集合中小于或等于给定元素的最大元素,如果不存在这样的元素,则返回 null。

11 SortedSet<E> headSet(E toElement)

此方法返回此集合的视图,其元素严格小于 toElement。

12 E higher(E e)

此方法返回此集合中严格大于给定元素的最小元素,如果不存在这样的元素,则返回 null。

13 boolean isEmpty()

如果此集合不包含任何元素,则此方法返回 true。

14 Iterator<E> iterator()

此方法返回此集合中元素的迭代器,其顺序为升序。

15 E last()

此方法返回当前此集合中的最后一个(最大)元素。

16 E lower(E e)

此方法返回此集合中严格小于给定元素的最大元素,如果不存在这样的元素,则返回 null。

17 E pollFirst()

此方法检索并删除第一个(最小)元素,如果此集合为空,则返回 null。

18 E pollLast()

此方法检索并删除最后一个(最大)元素,如果此集合为空,则返回 null。

19 boolean remove(Object o)

如果存在,此方法从此集合中删除指定的元素。

20 int size()

此方法返回此集合中元素的数量(其基数)。

21 Spliterator<E> spliterator()

在此集合中的元素上创建延迟绑定和快速失败的 Spliterator。

22 SortedSet<E> subSet(E fromElement, E toElement)

此方法返回此集合的视图,其元素范围从 fromElement(包含)到 toElement(不包含)。

23 SortedSet<E> tailSet(E fromElement)

此方法返回此集合的视图,其元素大于或等于 fromElement。

继承的方法

此类继承自以下类的方法:

  • java.util.AbstractSet
  • java.util.AbstractCollection
  • java.util.Object
  • java.util.Set

向 TreeSet 添加条目示例

以下示例演示了 Java TreeSet add() 方法的使用,用于向 treeset 添加条目。我们创建了一个 Integer 类型的 TreeSet 对象。然后使用 add() 方法添加了一些条目,并打印 treeset 对象以检查其内容。

package com.tutorialspoint;

import java.util.TreeSet;

public class TreeSetDemo {
   public static void main(String[] args) {

      // creating a TreeSet 
      TreeSet<Integer> treeset = new TreeSet<>();

      // adding in the tree set
      treeset.add(12);
      treeset.add(13);
      treeset.add(14);
      treeset.add(15);

      // displaying the Tree set data
      System.out.print("Tree set : " + treeset);
   }   
}

输出

让我们编译并运行上述程序,这将产生以下结果。

Tree set : [12, 13, 14, 15]
广告