java.util.TreeSet 类的示例

java.util.TreeSet 的 java 类似于类 HashSet,但它按升序对项目进行排序。数据存储在 TreeMap 这是一个平衡的二叉树或在 SorteMap.

访问时间非常快,这使得 TreeSet 当数据很大并且需要快速找到时,这是一个不错的选择。

TreeSet 实现 4 个构造函数:

- TreeSet():创建一个空的 TreeSet.
- TreeSet(Collection c):创建一个 TreeSet,其中包含对象集合中的项 c.
- TreeSet(Comparator comp):创建一个 TreeSet 空,将根据比较器进行排序.
- TreeSet(SortedSet sset):创建一个 TreeSet,其中包含 sset.

TreeSet 方法

void add(Object o)
使用 put() 添加一对.

void addAll(集合 c)
将一组项添加到列表中。

void remove(对象 o)
从列表中删除第一个实例。

void clear()
删除所有元素.

SortedSet subSet(对象 E1, 对象 E2)
返回位于两个边界 [E1, E2] 之间的元素的子列表。

SortedSet headSet(对象 E)
返回严格小于 E.

SortedSet tailSet(对象 E)
返回大于或等于 E.

对象 first()
返回此有序列表中的第一项(最小)。

对象 last()
返回此有序列表中的最后一项(最大)。

Example

在此示例中,我们将测试两种类型: String整数树集 还能够根据其字母数字 ASCII 代码对字符串进行排序.

import java.util.TreeSet;

public class Main {
public static void main(String args[]) {
// String
TreeSet tsetString = new TreeSet();

// 添加 String
tsetString.add(D”) 类型的对象;
tsetString.add(G”);
tsetString.add(Z”);
tsetString.add(A”);
tsetString.add(F”);
tsetString.add(T”);
tsetString.add(S”);
tsetString.add(M”);

//显示
System.out.println(tsetString);

// Integer
TreeSet tsetInteger = new TreeSet();

// 添加 Integer
tsetInteger.add(5) 类型的对象;
tsetInteger.add(87);
tsetInteger.add(42);
tsetInteger.add(24);
tsetInteger.add(23);
tsetInteger.add(152);
tsetInteger.add(70);
tsetInteger.add(54);
System.out.println(tsetInteger);
}
}
输出:

[A, D, F, G, M, S, T, Z]
[5, 23, 24, 42, 54, 70, 87, 152]
我们可以在这里看到,两个列表都包含按顺序排序的值新月。

您可以在 TreeSet 对象集合中查看这些教程:

使用 Iterator 浏览 TreeSet
向 TreeSet 添加元素
从 TreeSet 中删除元素
从 TreeSet 中删除所有元素
TreeSet 和 HashSet 之间的区别
将 HashSet 转换为 TreeSet
具有 Comparable
按降序对 TreeSet 进行排序
检查 TreeSet 中是否存在元素

References:
TutorialsPoint: java - TreeSet 类
Javadoc:TreeSet