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

HashMap核心机制put、get、哈希碰撞、扩容、红黑树、负载因子

 

HashMap是怎么工作的?

一、HashMap长什么样

HashMap底层是一个数组(table),数组的每个位置叫一个"桶"(bucket)。

往HashMap里存一个键值对,先算出key的哈希值,然后决定这个键值对应该放到哪个桶里。如果两个key算出来要去同一个桶,就叫"哈希碰撞"。

数组下标  0   1   2   3   4   5   6   7         |   |   |   |   |   |   |   |         ↓   ↓   ↓   ↓   ↓   ↓   ↓   ↓         桶   桶   桶   桶   桶   桶   桶   桶

默认初始化时数组长度是16,负载因子0.75。也就是说存到第12个键值对时,就会触发扩容。


二、put的时候发生了什么

当调用 map.put(key, value) 时,内部做了这几步:

第一步,算哈希。先调key.hashCode()得到一个int,然后把高16位和低16位做异或,让哈希值更均匀。

第二步,算下标。用哈希值 &(数组长度-1),算出这个键值对应该放哪个桶

http://www.jsqmd.com/news/1295066/

相关文章:

  • Docker数据卷创建、挂载、删除、数据共享
  • 海宁马桶堵了怎么办?2026本地疏通避坑指南找金池管道疏通 - 余生黄金回收
  • AI入行指南:小白程序员必看!收藏这份含收藏价值的学习路径与岗位分析
  • Claude Code终极指南:如何用自然语言命令提升编程效率
  • 技术SEO审计框架问题:代码冗余提速40%方案
  • 2026年8月呼和浩特经验丰富口碑好的刑事辩护实务:包新吉乐结合办案案例,运用专业法律技术处理刑案 - 十大排行榜推荐
  • 东营水电维修怎么找正规平台?资质报价验收三步筛选(2026) - 家修助手
  • 2026年椭圆机产品横评:五款热门推荐 - 科技焦点
  • DHT11温湿度传感器
  • 如何在5分钟内启动你的第一个OpenWork任务:从安装到执行的快速入门
  • 成都市青羊区不拆除补漏哪家强?维小达 不拆除补漏、室内防水、屋面防水、外墙防水、飘窗防水、阳台防水、地下室防水补漏、厨卫漏水一站式修缮服务 - 一点传媒
  • AsmDude2:基于LSP的汇编语言开发革命,让机器码编程进入智能时代
  • 为什么选择Maple Mono:5个理由让你的代码编辑体验全面升级
  • 2026安徽省中考择校!安徽建设学校3+2公办免学费,公办院校名额抢报中 - 最新资讯
  • Adrenaline PSP模拟器固件:让PS Vita变身完美PSP游戏机的终极解决方案
  • 【AI定价策略黄金法则】:20年实战验证的7大动态定价模型与避坑指南
  • 2026 袋式过滤器厂家怎么选?综合实力强的优质厂家推荐指南 - 商业新知
  • 2026高导热硅胶片生产厂家怎么选?一站式高导热硅胶片定制批发厂家 - 栗子测评
  • 2026年新疆乌鲁木齐康明斯发电机行业实力服务商——新疆泓浩机电设备有限公司 - 优企名品
  • BERT4Rec配置详解:超参数调优与JSON配置文件全解析
  • Linux系统修复---救援模式修复fstab文件错误
  • Python连接MQTT服务器订阅和发布主题-Python物联网开发
  • OpenHarmony应用开发——更改应用名称和图标--开源鸿蒙-物联网上位机软件开发
  • 为什么你的提示词总被AI“曲解”?——深度拆解逻辑断层、隐含假设与认知偏差,立即诊断你的思维漏洞
  • Fan Control终极指南:解决Windows电脑风扇噪音的完美解决方案
  • Matlab实现Transformer时间序列预测的工业应用
  • 品牌升级选哪家设计公司?2026 十大优质全案服务商排行榜出炉 - GrowUME
  • 2026上饶仿石漆装修厂家推荐,不褪色自建房别墅外墙厂家哪家好?选购避坑攻略:3大维度+4条标准助你选对源头厂家 - geo88
  • 衡阳家里瓷砖鼓起来了怎么办?2026免砸砖微创修复,有效解决晃动空鼓 - 宅安选房屋修缮
  • Win11Debloat终极指南:让Windows系统重获新生的开源解决方案