[TOC]
TreeSet内部使用TreeMap的key列来存储数据
## 构造函数
~~~
public class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, Serializable {
private transient NavigableMap<E, Object> m;
private static final Object PRESENT = new Object();
TreeSet(NavigableMap<E, Object> var1) {
this.m = var1;
}
public TreeSet() {
this((NavigableMap)(new TreeMap()));
}
}
~~~
## add
~~~
public boolean add(E var1) {
return this.m.put(var1, PRESENT) == null;
}
~~~
## remove
~~~
public boolean remove(Object var1) {
return this.m.remove(var1) == PRESENT;
}
~~~
- Java
- Object
- 内部类
- 异常
- 注解
- 反射
- 静态代理与动态代理
- 泛型
- 继承
- JVM
- ClassLoader
- String
- 数据结构
- Java集合类
- ArrayList
- LinkedList
- HashSet
- TreeSet
- HashMap
- TreeMap
- HashTable
- 并发集合类
- Collections
- CopyOnWriteArrayList
- ConcurrentHashMap
- Android集合类
- SparseArray
- ArrayMap
- 算法
- 排序
- 常用算法
- LeetCode
- 二叉树遍历
- 剑指
- 数据结构、算法和数据操作
- 高质量的代码
- 解决问题的思路
- 优化时间和空间效率
- 面试中的各项能力
- 算法心得
- 并发
- Thread
- 锁
- java内存模型
- CAS
- 原子类Atomic
- volatile
- synchronized
- Object.wait-notify
- Lock
- Lock之AQS
- Lock子类
- 锁小结
- 堵塞队列
- 生产者消费者模型
- 线程池