HashMap的put流程
2020-08-19 18:24:21 0 举报
HashMap的put过程
作者其他创作
大纲/内容
判断是否需要扩容
根据哈希值.hash()计算数组下标
通过equals()方法比较
redsize方法扩容
链表部分
直接覆盖数据
开始准备遍历链表准备插入
resize-扩容
否
根据key.hashCode()计算哈希值
是
转存红黑树插入键值对
链表长度是否大于8
红黑树插入键值对
不需要扩容
相同
扩容部分
需要扩容
逻辑判断部分
end
table[i]==null
判断table[i]是否是红黑树
直接在table[i]的位置插入数据
红黑树部分
HashMap的put流程
判断table是否为空或者length=0
收藏
0 条评论
下一页