HashMap的put流程
2021-04-27 11:59:29 5 举报
HashMap的put流程
作者其他创作
大纲/内容
链表长度是否大于8
++size是否大于threshold
直接覆盖value
扩容
y
n
遍历链表,准备插入
转红黑树插入键值对
直接插入
table[i]是否是treeNode?
resize
start
判断key是否存在,不存在直接插入,存在则覆盖
tab[i = (n - 1) & hash]) == null
end
根据键值key计算hash值得到插入的数组索引i。计算规则 :(h = k.hashCode()) ^ (h >>> 16)
key是否存在?
table==null or tab.length==0
收藏
0 条评论
下一页