HashMap
2021-07-05 16:23:28 20 举报
HashMap源码解读
作者其他创作
大纲/内容
直接插入
否
判断table[i].key 是否等于当前key
HashMap resize()操作
HashMap put操作
oldCap 当前长度newThr 新长度
结束
判断node.key 是否等于当前key
替换value
是
node = node.next
链表数量>8
resize()扩容
hash(key)计算key的hash值
node.next == null
++size>threshold
计算索引位置i=(n - 1) & hash
判断node为链表or红黑树
node = table[i]
数组长度<64
开始
l链表
链表Node 转为树Node
table是否为空或长度为0
链表结构转为树结构
(h = key.hashCode()) ^ (h >>> 16)
table[i] == null
0 条评论
下一页