HashMap扩容机制rehashing 1.8 和 1.7 效率有区别吗?
比如说拿数组大小为16(10000)举例。
Jdk1.7:
一个元素计算出哈希值为25(011001),对应的数组位置为25 & (16 - 1) = 9(1001),扩容后位置改为25 & (32 - 1) = 25(011001)。
Jdk1.8:
一个元素计算出哈希值为25(011001),对应的数组位置为25 & (16 - 1) = 9(1001),扩容后先判断 25 & 16 是否有为0,如果不为0就在原数组位置加16移到新位置9 + 16 = 25 的位置,否则位置不变。
为什么会说 Jdk1.8 的效率会更好?(纯属个人疑惑,如有不对请指出)
评论
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
内容推荐
Day 1✅ 今天做了:⏰ 明天计划:📚 今日感悟:
1
25届二本Java外包两段试用期辞退-广州求职如何找到工作
8
unDraw 插画搜索接口过一段时间就失效的完整解决方案
4
我是项目小白,第一次做项目。因为之前赶进度,有些基础课程跟着敲了代码有些没有,但感觉很多也遗忘了,基础比较弱。总感觉自己有点浮躁。做项目的时候,会感觉没有思路,然后就问ai,问ai这个功能要怎么实现,我该怎么思考,但是ai给了我思路,我拿到手还是不会做。因为我不知道调哪个类,用什么方法合适,然后就依赖ai给的代码,然后就一直问ai为啥为啥这么做,让ai总结笔记。还好ai不嫌我烦,只图我的钱🤣。我
1
二本,一段四个月的实习经历,想投秋招,然后做了两版简历,第一个是 实习+项目,第二个是 纯实习 经历,但是篇幅较详细,哪个比较好一点
0
