1 继承结构
public class TreeMap<K,V>
extends AbstractMap<K,V>
implements NavigableMap<K,V>, Cloneable, java.io.Serializable
{
TreeMap 是一个 有序的key-value集合,它是通过 红黑树 实现的。
TreeMap 继承于AbstractMap,所以它是一个Map,即一个key-value集合。
TreeMap 实现了NavigableMap接口,意味着它 支持一系列的导航方法。比如返回有序的key集合。
TreeMap 实现了Cloneable接口,意味着 它能被克隆。
TreeMap 实现了java.io.Serializable接口,意味着 它支持序列化
TreeMap基于红黑树 实现。该映射根据 其键的自然顺序进行排序,或者根据 创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。
TreeMap的基本操作 containsKey、get、put 和 remove 的时间复杂度是 log(n)。
另外,TreeMap是 非同步 的。 它的iterator 方法返回的 迭代器是fail-fastl 的。
排序默认是升序的,数字比较大小,字符串比较首字母,其他类型则需要自己实现Comparable接口,否则排序时会报错。