TreeMap的底层实现是红黑树数据结构,也就是说是一棵自平衡的排序二叉树,这样就可以保证快速检索指定节点。

红黑树的插入、删除、遍历时间复杂度都是O(logN),所以性能上低于哈希表。但是哈希表无法提供键值对的有序输出,红黑树因为是排序插入的,可以按照键的值的大小有序输出。

红黑树的性质:

①每个节点要么是红色,要么是黑色。

②根节点永远是黑色的。

③所有的叶子节点都是空节点(null),并且是黑色的。

④每个红色节点的两个子节点都是黑色。从每个叶子到根的路径上不会有两个连续的红色节点。

⑤从任一节点到其子树中每个叶子节点的路径都包含相同数量的黑色节点。

请你说明一下TreeMap的底层实现?相关推荐

  1. 拜托,面试请不要再问我 SpringCloudAlibaba 底层原理

    大家好,今天给大家介绍一个非常热门的技术,同时也是面试的时候面试官特别喜欢问的一个话题,那就是SpringCloudAlibaba的底层原理. 小伙伴们有兴趣想了解内容和更多相关学习资料的请点赞收藏+ ...

  2. 请你讲讲wait方法的底层原理

    wait即object的wait()和notify()或者notifyall()一起搭配使用 wait方法会将当前线程放入wait set等待被唤醒 1.将当前线程封装成objectwaiter对象n ...

  3. 2020-java面试宝典

    ● 请你简单描述一下正则表达式及其用途. 考察点:正则表达式 参考回答: 在编写处理字符串的程序时,经常会有查找符合某些复杂规则的字符串的需要.正则表达式就是用于描述这些规则的工具.换句话说,正则表达 ...

  4. 最新背诵版 Java 面经汇总囊括了基本所有考点(建议收藏)

    RabbitMQ有以下几种工作模式 : 简单模式:一个生产者,一个消费者 work模式:一个生产者,多个消费者,每个消费者获取到的消息唯一. 订阅模式:一个生产者发送的消息会被多个消费者获取. 路由模 ...

  5. Java集合—TreeMap底层原理

    原文出自:http://cmsblogs.com/?p=1013.尊重作者的成果,转载请注明出处! 个人站点:http://cmsblogs.com TreeMap的实现是红黑树算法的实现,所以要了解 ...

  6. HashSet、TreeSet、TreeMap实现原理

    一.HashSet底层实现 HashSet实现了Set接口,不允许有重复元素,因为HashSet是基于HashMap实现的,HashSet中的元素都存放在HashMap的key上面,而value中的值 ...

  7. 深入理解HashMap和TreeMap的区别

    文章目录 简介 HashMap和TreeMap本质区别 排序区别 Null值的区别 性能区别 共同点 深入理解HashMap和TreeMap的区别 简介 HashMap和TreeMap是Map家族中非 ...

  8. TreeMap的讲解

    本文转载自:http://blog.csdn.net/chenssy/article/details/26668941点击打开链接 原文出自:http://cmsblogs.com/?p=1013.尊 ...

  9. TreeMap源码解析

    1.TreeMap介绍 TreeMap是一个通过红黑树实现有序的key-value集合. TreeMap继承AbstractMap,也即实现了Map,它是一个Map集合 TreeMap实现了Navig ...

最新文章

  1. 速卖通关键词挖掘工具_网站优化必备的关键词挖掘工具
  2. OpenGL Shadow Mapping阴影贴图的实例
  3. seaborn绘图后得到分布参数
  4. Jenkins 详细安装、构建部署 使用教程
  5. 【转载】为了我们的SZ4J代码
  6. 前端中函数 , 伪函数 , DOM
  7. bootstrap 预定义样式风格
  8. AMSim高级系统建模与仿真软件安装坡姐过程的踩坑心得
  9. 封装继承多态的关联性
  10. 网页设计期末作品_平面、网页、UI设计师该如何做作品集?
  11. npm ETIMEDOUT 问题
  12. Xilinx差分输入时钟100Ω终端电阻设置
  13. TCP Socket通信详细过程
  14. M2TR: 复旦提出首个多模态多尺度Transformer
  15. AHRS系统的基本构成
  16. 【kindle技巧】用Calibre给txt文件生成目录,epub格式制作,电子书格式生成
  17. 利用C#编写象棋棋盘
  18. H5网页调用58热敏小票打印机实现打印小票
  19. linux 磁盘管理心得,Linux磁盘管理三板斧的使用心得
  20. word流程图擦除_word画流程图 Word中绘制流程图的正确姿势,这招大多数人不知道...

热门文章

  1. 【NLP】中文情感分类单标签
  2. 【数据竞赛】kaggle竞赛宝典-多分类相关指标优化​
  3. 免费!Excel数据分析训练营!让你1招建立可视化数据分析思维模型!​
  4. 【机器学习基础】数学推导+纯Python实现机器学习算法19:PCA降维
  5. 推荐系统炼丹笔记:RecSys2020-SSE-PT解锁序列数据挖掘新姿势
  6. IM推送保障及网络优化详解(一):如何实现不影响用户体验的后台保活
  7. 关于MySQL线程池,这也许是目前最全面的实用帖!(转载)
  8. [01-01]oracle数据库汉化
  9. python日志汇总
  10. 推荐一个SAM文件中flag含义解释工具--转载