HashMap hash 原理分析
博客专区 > tuerqidi 的博客 > 博客详情
HashMap hash 原理分析
tuerqidi 发表于9个月前
HashMap hash 原理分析
  • 发表于 9个月前
  • 阅读 18
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

HashMap 选择 & 操作作为hash函数 。

000000000000000000000000000000001     2-1

000000000000000000000000000000011     4-1

000000000000000000000000000000111     8-1

000000000000000000000000000001111     16-1

000000000000000000000000000011111     32-1

000000000000000000000000000111111     64-1

 

如果 任意一个1换为0 则意味着不管被哈希数字对应位上是0还是1,都会被hash到同一个位置。极端情况

&0 进行哈希则所有数字都被哈希到 0 号位。

 

为什么有 (h = key.hashCode()) ^ (h >>> 16); 操作 ;

00000000000001110000000000000000

00000000000011110000000000000000

如果没有位移操作则这两个数会被 hash 到同一位置。

 

 

标签: HashMap
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 7
博文 54
码字总数 17609
×
tuerqidi
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: