首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
HashMap
订阅
andisolo
更多收藏集
微信扫码分享
微信
新浪微博
QQ
2篇文章 · 0订阅
那些年,我们又爱又恨的HashMap(一)
存取元素无序。 JDK1.8以后,由数组+链表+红黑树构成,当链表长度大于阈值(默认为8),并且数组长度大于64时,链表会转化为红黑树去解决哈希冲突。 链表转化为红黑树之前会进行判断,若果阈值大于8,但是数组长度小于64,这时链表不会转化为红黑树去存储数据,而是会对数组进行扩容…
那些年,我们又爱又恨的HashMap(二)-源码篇
如果size大于threshold,进行扩容。 在putVal()方法中使用到了上述hash函数计算的哈希值。 这样做是为了避免发生哈希冲突。 如果数组长度n很小,假设是16的话,那么n-1=15即1111 ,这样的值和哈希值直接按位与运算,实际上只使用了哈希值的后4位。如果当…