TreeSet简介
TreeSet 是一个有序的集合,它的作用是提供有序的Set集合。它继承于AbstractSet抽象类,实现了NavigableSet<E>, Cloneable, java.io.Serializable接口。
TreeSet 继承于AbstractSet,所以它是一个Set集合,具有Set的属性和方法。
TreeSet 实现了NavigableSet接口,意味着它支持一系列的导航方法。比如查找与指定目标最匹配项。
TreeSet 实现了Cloneable接口,意味着它能被克隆。
TreeSet 实现了java.io.Serializable接口,意味着它支持序列化。
TreeSet是基于TreeMap实现的。TreeSet中的元素支持2种排序方式:自然排序 或者 根据创建TreeSet 时提供的 Comparator 进行排序。这取决于使用的构造方法。
TreeSet为基本操作(add、remove 和 contains)提供受保证的 log(n) 时间开销。
另外,TreeSet是非同步的。 它的iterator 方法返回的迭代器是fail-fast的。
package Setjihe;
import java.util.Random;
import java.util.TreeSet;
public class ABC26 {
public static void main(String[] args) {
TreeSet<Character> ts = new TreeSet<>();
Random r = new Random();
Character[] d = new Character[26];
for (int i = 0; i < 26; i++) {
d[i] = (char)('A'+i);
}
for (int i = 0; ts.size() <26 ; i++) {
ts.add(d[r.nextInt(26)]);
}
for (Character c :ts
) {
System.out.print(" "+c);
}
}
}