hashMap put 操作
2020-12-17 22:50:42 0 举报
hashmap put 流程
作者其他创作
大纲/内容
结束
是否遍历至链表底部
否
判断节点是否已存在
链表节点数量是否大于8
是否是treeNode
是
初始化table[]默认长度16
将节点追加至红黑树
链表转红黑树
迭代计数器modCount+1
遍历链表
(table[i]hash值是否与key的hash值相等 &&table[i]的key地址是否与传入key地址相等)||table[i]的key值是否与传入key值相等
终止遍历,替换已存在节点并返回
table[i]==null
链表是否有节点
替换原来节点
节点追加至链表尾部
通过key&hash值计算table[]下标i
table[]是否空
保证数据安全性:迭代器遍历时若出现并发修改,可以快速失败(抛ConcurrentModifactionException)
初始化节点newNode
新增节点
开始
节点是否已存在
afterNodeInsertion(无实际意义)
0 条评论
下一页