出售本站【域名】【外链】

万仟 - 轻松建站从此开始!

智能冰箱

当前位置: 智能冰箱 > 冰箱咨询 > 文章页

原创:Java8中,hashmap的容量大小为什么必须是2的幂次方?

时间:2024-09-17 15:06来源: 作者:admin 点击: 17 次
文章浏览阅读2.6k次,点赞24次,收藏26次。Java8中,hashmap的容量大小为什么必须是2的幂次方?最近在复习基础知识,在复习到hashmap的时候,看到hashmap的容量大小必须是2的幂次方,我当时脑子想到的就是:为了使每一个桶发生哈希冲突的概率相同,从而避免某些桶大量发生哈希冲突,而

那个问题是不少进修hashmap都会有想过的,为啥啊?当初我也是那么想的。。 一、理解hashmap的索引计较 那里就不画红黑树了,归正我也不会。 知识点: 当链表长度抵达8并且数组长度大于就是64就转为红黑树,当链表长度小于6就转为链表。 当链表长度抵达8但数组长度小于就是64就选择扩容,将数组长度乘以2 扩容阈值=数组长度*负载因子 当整个数组的所有容质大于扩容阈值时就停行扩容 索引便是往hashmap存值时,计较key的索引,而后选择往哪个数组存值 计较索引位置的公式为:(n - 1).

(责任编辑:)

------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
发布者资料
查看详细资料 发送留言 加为好友 用户等级: 注册时间:2025-02-03 21:02 最后登录:2025-02-03 21:02
栏目列表
推荐内容