ToB企服应用市场:ToB评测及商务社交产业平台

标题: TreeMap源码详解—彻底搞懂红黑树的平衡操作 [打印本页]

作者: 八卦阵    时间: 2024-9-11 19:01
标题: TreeMap源码详解—彻底搞懂红黑树的平衡操作
先容

TreeSetTreeMap在Java里有着雷同的实现,前者仅仅是对后者做了一层包装,也就是说TreeSet里面有一个TreeMap(适配器模式)。
Java TreeMap实现了SortedMap接口,也就是说会按照key的大小顺序对Map中的元素进行排序,key大小的评判可以通过其本身的自然顺序(natural ordering),也可以通过构造时传入的比较器(Comparator)。
TreeMap底层通过红黑树(Red-Black tree)实现,也就意味着containsKey(), get(), put(), remove()都有着log(n)的时间复杂度。
底层实现

继续接口的关键方法
  1. public class TreeMap<K,V>
  2.     extends AbstractMap<K,V>
  3.     implements NavigableMap<K,V>, Cloneable, java.io.Serializable
复制代码
返回用于排序此映射中的键的比较器,如果此映射利用其键的自然排序,则返回null。
SortedMap接口:
[code]Comparator




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4