基本信息
TreeMap 是一个有序的Key-Value集合,内部通过红黑树实现 ,所谓有序指的是:根据其键的自然顺序进行排列(Comparator或Comparable接口);
既然是基于红黑树的,那它的containskey get put remove 方法的时间复杂度都是log(n);
红黑树
红黑树的本质是一棵平衡二叉树,它需满足的5条性质:
1,每个节点要么是红的要么是黑的;
2,根节点是黑的;
3,每个叶节点是黑的;
4,如果一个节点是红的,那么它的子节点是黑的;
5,对于任一节点而言,其到叶节点尾端NIL指针的每一条路径都包含相同数目的黑李点;
内部对像
Entry包含了6个部分内容:key(键)、value(值)、left(左孩子)、right(右孩子)、parent(父节点)、color(颜色);