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

HashMap 源码解析 底层原理 面试如何回答

HashMap 源码解析 底层原理 面试如何回答

一、参考资料

【Java视频教程,java入门神器(附300道Java面试题剖析)】 https://www.bilibili.com/video/BV1PY411e7J6/?p=172&share_source=copy_web&vd_source=855891859b2dc554eace9de3f28b4528

二、笔记总结

2.1、创建工程





2.2、HashMap 构造方法源码


2.3、HashMap put 方法源码

















2.4、面试如何回答

  • JDK 1.8 中 HashMap 中保存的是 Node 对象,key 和 value 都是 Node 对象的属性。
  • JDK 1.8 中 HashMap 底层数据结构是,数组+链表+红黑树。
    • 当数组某个索引位置上的元素个数达到 8 时并且数组长度达到 64 时,这个索引位置的存储结构由链表转为红黑树,可以提高查询、修改、删除操作的效率。
    • 当使用红黑树的索引位置上的元素数量低于 6 时,存储结构退化为链表结构,因为红黑树占用的空间大。
  • HashMap 在使用 put 方法添加元素时
    • 会根据要添加元素的 key 的 hashCode 方法计算 hash 值,然后根据 hash 值计算出元素在数组中的存储位置。
    • 当数组存储位置上已经存在元素时,如果两个元素的 key 计算出的 hash 值不相同,则说明是两个不同的元素,旧的元素的 next 属性会指向新的元素,形成链表结构,HashMap 中的元素都是 Node 对象,Node 对象有 next 属性,用于记录下一个元素的位置。
    • 如果两个元素的 key 计算出的 hash 值相同,equals 方法比较返回 true,说明是两个相同的 key,则把旧元素的 value 值替换为新元素的 value 值,put 方法会返回被替换的旧 value 值
    • 如果数组存储位置上没有元素,则直接添加元素到数组存储位置上,put 方法返回 null
  • HashMap 默认的数组大小是 16,计算因子默认是 0.75,16 * 0.75 = 12,当数组的长度达到临界值 12 时,会触发数组的扩容机制。
http://www.jsqmd.com/news/879808/

相关文章:

  • 企业如何利用Taotoken实现多模型API的统一管理与访问控制
  • 驾照证件照怎么制作?2026驾驶证照片规范+手机制作教程 - 科技大爆炸
  • 多版本滤波算法对比试验
  • 2026 年成都钢板厂家及采购优选推荐 四川盛世钢联钢厂联营资源等你来抢 - 四川盛世钢联营销中心
  • 喜马拉雅xm-sign v3算法逆向解析与Node.js本地生成
  • 如何快速将视频格式转换为MP4?MKV、FLV、MOV转MP4就这么简单!
  • 医疗AI模型窃取攻击:原理、风险与超声影像场景的防御实践
  • 用 AutoGen 编排多智能体协作,让 AI 团队帮你干活
  • 2026年5月江门台山地区黄金回收白银铂金回收门店推荐TOP1 地址及联系方式 - 诚信金利回收
  • 将taotoken接入openclaw agent工作流的配置要点
  • 2026年5月济宁梁山地区黄金回收白银铂金回收门店推荐TOP1 地址及联系方式 - 诚信金利回收
  • Java方法全解析:从基础定义到重载机制
  • 漏洞研究工作流:从CVE追踪到实战提升的闭环方法论
  • 如何发起投票活动,投票小程序操作指南 - 资讯纵览
  • 新手教程使用curl命令快速测试Taotoken的OpenAI兼容接口
  • Grafana 从零上手:安装部署、仪表盘导入导出及插件安装完整指南
  • 如何发布一场投票评选活动,投票小程序操作指南 - 资讯纵览
  • 2026 出海 GEO 避坑指南:源码技术成试金石,旗引科技领跑国产第一梯队 - 资讯纵览
  • B4A要编绎成Release发布APP/waiting for ide debugger to connect
  • 2026年5月济宁曲阜地区黄金回收白银铂金回收门店推荐TOP1 地址及联系方式 - 诚信金利回收
  • 2026年中国出海GEO行业深度观察:源码私有化部署成为技术分水岭 - 资讯纵览
  • 基于决策树与Boosting的暗网流量多阶段分类系统设计与实践
  • 终极AMD Ryzen调试工具:免费开源的硬件掌控神器
  • 白底证件照怎么制作?2026尺寸规范+免费工具教程 - 科技大爆炸
  • 2026 年成都型钢厂家及采购优选推荐 四川盛世钢联钢厂联营资源等你来抢 - 四川盛世钢联营销中心
  • 93、【Agent】【OpenCode】edit 工具提示词(二)
  • 94、【Agent】【OpenCode】edit 工具提示词(参数内容)
  • 2026年5月有实力的电动截止阀/电动闸阀厂家推荐钢特阀门科技有限公司 - 品牌鉴赏师
  • Graff平替怎么选?这5个品牌性价比碾压大牌 - 资讯纵览
  • Frida与Objection在移动端自动化安全测试中的工程化实践