HashMap put方法流程图
2021-11-03 14:38:35 5 举报
HashMap put方法流程图
作者其他创作
大纲/内容
tab[i]是否为树节点
红黑树插入
否
tab[i = (n - 1) & hash] 为空
是
转红黑树
根据key计算hash值
++size > threshold
链表尾部插入新节点
结束
table为nul 或table长度为0
扩容
hash(key)
直接覆盖
key是否存在
resize()
调用put方法
resize();
根据hash值计算当前数组位置是否有值
是否达到扩容条件
遍历链表是否存在相同key的元素
tab[i = (n - 1) & hash]
直接插入
判断链表长度是否大于8且数组长度大于64
0 条评论
下一页