当前位置: 首页 > news >正文

【Java集合类面试二十一】、请介绍TreeMap的底层原理

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。

面试官:请介绍TreeMap的底层原理

参考答案:

TreeMap基于红黑树(Red-Black tree)实现。映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。TreeMap的基本操作containsKey、get、put、remove方法,它的时间复杂度是log(N)。

TreeMap包含几个重要的成员变量:root、size、comparator。其中root是红黑树的根节点。它是Entry类型,Entry是红黑树的节点,它包含了红黑树的6个基本组成:key、value、left、right、parent和color。Entry节点根据根据Key排序,包含的内容是value。Entry中key比较大小是根据比较器comparator来进行判断的。size是红黑树的节点个数。

http://www.lryc.cn/news/207044.html

相关文章:

  • Go语言Channel
  • java 编译 引用 jar 包进行编译和执行编译后的class文件
  • Linux系统之部署Tale个人博客系统
  • 【跟小嘉学 Rust 编程】三十三、Rust的Web开发框架之一: Actix-Web的基础
  • 算法通关村|黄金挑战|K个一组进行反转
  • 【Android Studio】工程中文件Annotate with Git Blame 不能点击
  • Ant Design Vue
  • ATA-P2010压电叠堆功率放大器-直流偏置对压电叠堆测试的重要性
  • 短视频矩阵系统搭建/源头----源码
  • 基于.Net CEF 实现 Vue 等前端技术栈构建 Windows 窗体应用
  • qt中怎么在鼠标停留的位置上显示该点的坐标位置
  • 两个list中实体某个属性值相同的实体和不同的实体
  • Linux下利用Docker快速部署Kafka
  • 竞赛 深度学习图像分类算法研究与实现 - 卷积神经网络图像分类
  • jvm摘要
  • GZ035 5G组网与运维赛题第1套
  • MySQL数据xtrabackup物理备份方法
  • vue3 使用 elementUi: ./lib/theme-chalk/index.css is not exported from package
  • [ROS系列]ORB_SLAM3错误版本(仅记录)
  • APP盾的防御机制及应用场景
  • Unity性能优化一本通
  • Mysql,SqlServer,Oracle获取库名 表名 列名
  • errno变量和显示错误信息
  • Centos 7 安装 Docker Enginee
  • 通过js来实现用身份证号来判断性别和出生年月
  • 华为数通方向HCIP-DataCom H12-831题库(多选题:61-80)
  • 【T】03
  • VBA技术资料MF73:将Logo添加到页眉侧
  • 听GPT 讲Rust源代码--library/std(1)
  • Vue源码总结