目录
1.数据结构
private transient NavigableMap<E,Object> m; |
初看可能会有些陌生
其实NavigableMap是一个接口
public class TreeMap<K,V>
public class TreeSet<E> extends AbstractSet<E> |
TreeMap和TreeSet都实现了这个接口
所以和HashSet相同维护TreeSet的内部结构是一个Value=Object的TreeMap
2主要参数
private static final Object PRESENT = new Object(); //Value=Object的TreeMap private transient NavigableMap<E,Object> m;
|
3.构造方法
public TreeSet() { TreeSet(NavigableMap<E,Object> m) {
|
初始化一个TreeMap<E,Object>
4. add(E e)
public boolean add(E e) {
|
就是调用TreeMap的put方法其他方法也一样
5.TreeSet的特点
TreeMap是一个红黑树,所有节点都是有顺序的,所以TreeSet有序的,(插入的时候先比较按照二叉树插入,在旋转调整着色维持红黑树)
6案例TreeSet的遍历方式
public static void main(String[] args) {
|
表明TreeSet是有序的