java源码-TreeMap
开篇 写TreeMap本身是一件让我感到无比怂逼的事情,因为红黑树的数据结构从大学到现在我就没弄明白过,估计在很长的一段时间里应该也弄不明白,不过我打算投入点时间去研究研究红黑树了。 后来查看了下网上关于讲解TreeMap的文章,发现避开红黑树直接直接将它当做黑盒来讲的思路貌似也是可行的,所以我打算也从这个角度来写这个文章。 TreeMap的特性 TreeMap 是有序的,按照自然排序或者指定比较器排序,不允许 null 键,允许 null 值,是不同步。 TreeMap 是基于红黑树实现的最大的好处就是可以按照业务场景得到已排序的结果。 TreeMap类图 TreeMap类图 说明: TreeMap实现了SortedMap接口并集成了AbstractMap,这些其实我并没有深究,只是想说明的是TreeMap是有序的。 TreeMap源码分析系列 TreeMap类成员变量 TreeMap的核心数据结构当中,主要是root的数据节点,主要是用于标识红黑树的根节点。 TreeMap的Entry就是用于保存Map的key/value数据结构,除了常见的key/value变量外,还有...