TreeSet是SortedSet接口的实现类,TreeSet可以确保集合元素处于排序状态
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();
扫描二维码关注公众号,回复:
1933181 查看本文章
//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是有序的