【白白源码俱乐部-由浅入深之TreeSet】
文章目录
1. TreeSet 底层是什么结构?是否有序?如果有序是如何排序的呢?
2. TreeSet 对添加的元素有何要求?
问题一:
TreeSet 底层是一个二叉树结构【红黑树】;
既然是树型结构那么它必然是有序的 (请看源码以及举例):
// 这里可以看到它实现了一个NavigableSet接口;
// 而此接口呢又继承了一个SortedSet接口,此接口中有一个comparator()方法
public class TreeSet
implements NavigableSet
// 底层初始化的 TreeSet
private transient NavigableMap
// 这里可以看到它的构造方法中传递的是一个NavigableMap,而此Map也间接的继承了Map接口
共有 0 条评论