HashMap中put方法的流程图
2022-10-28 17:54:27 1 举报
HashMap中put方法的流程图
作者其他创作
大纲/内容
n = (tab = resize()).length;
++size>threshold
tab.length<64
是
计算机索引、逻辑判断
key相同
table[i]是否为TreeNode
否
链表长度是否大于8
node.next == null
遍历链表
返回原节点value
直接插入
p instanceof TreeNode
扩容
resize();初始化
需判断i处是否为null
table[i] == null
table==null Or length==0
node = node.next
for (int binCount = 0; ; ++binCount)
链表插入,如果key存在,直接覆盖
putTreeVal
链表
treeifyBin
红黑树
树化
从根节点遍历
根据key计算得到的hash值进行hash&(capacity-1)得到待插入元素数组索引i
直接覆盖value
resize();扩容
return null
0 条评论
回复 删除
下一页