TreeSet
类提供了使用树进行存储的Set
接口的实现。对象按排序和升序存储。
访问和检索时间非常快,这使得TreeSet
成为存储必须快速找到的大量排序信息的绝佳选择。
以下是TreeSet
类支持的构造函数列表。
编号 | 构造函数 | 描述 |
---|---|---|
1 | TreeSet() |
此构造函数构造一个空树集,该树集将根据其元素的自然顺序按升序排序。 |
2 | TreeSet(Collection c) |
此构造函数构建一个包含集合c 的元素的树集。 |
3 | TreeSet(Comparator comp) |
此构造函数构造一个空树集,该树集将根据给定的比较器进行排序。 |
4 | TreeSet(SortedSet ss) |
此构造函数构建一个TreeSet 类,其中包含给定SortedSet 的元素。 |
除了从父类继承的方法之外,TreeSet
还定义了以下方法 -
编号 | 方法 | 描述 |
---|---|---|
1 | void add(Object o) |
如果指定的元素尚不存在,则将它添加到此集合中。 |
2 | boolean addAll(Collection c) |
将指定集合中的所有元素添加到此集合中。 |
3 | void clear() |
删除此集合中的所有元素。 |
Object clone() |
返回此TreeSet 实例的浅表副本。 |
|
Comparator comparator() |
返回用于对此有序集进行排序的比较器,如果此树集使用元素自然顺序,则返回null 。 |
|
boolean contains(Object o) |
如果此实例包含指定的元素,则返回true 。 |
|
Object first() |
返回当前在此有序集中的第一个(最低)元素。 | |
SortedSet headSet(Object toElement) |
返回此实例的部分视图,元素严格小于toElement 。 |
|
boolean isEmpty() |
如果此实例不包含任何元素,则返回true 。 |
|
Iterator iterator() |
返回此实例中元素的迭代器。 | |
Object last() |
返回此有序集中当前的最后一个(最高)元素。 | |
boolean remove(Object o) |
则从集合中移除指定的元素。 | |
int size() |
返回此集合中的元素数量(基数)。 | |
SortedSet subSet(Object fromElement, Object toElement) |
返回此实例的部分视图,其元素范围从fromElement (包括)到toElement (不包括)。 |
|
SortedSet tailSet(Object fromElement) |
返回此实例的部分视图,其元素大于或等于fromElement 。 |
示例
以下程序中演示了如何使用集合支持的几种方法 -
import java.util.*;
public class TreeSetDemo {
public static void main(String args[]) {
// Create a tree set
TreeSet ts = new TreeSet();
// Add elements to the tree set
ts.add("C");
ts.add("A");
ts.add("B");
ts.add("E");
ts.add("F");
ts.add("D");
System.out.println(ts);
}
}
执行上面示例代码,得到以下结果 -
[A, B, C, D, E, F]