1.8HashMap的put方法
2021-08-12 12:50:04 0 举报
1.8HashMap的put方法
作者其他创作
大纲/内容
YES
返回一个null
NO
头节点在前面如果为null就会new一个对象进行分配,所以不会为null
匹配到key对应的节点
总记录数大于阈值
创建节点并插入到其对应位置
数组为空 或者 数组长度小于64
头节点是红黑树节点
进行插入回调,默认啥都没做,给子类实现用的
这里判断条件是onlyIfAbsent 和旧值是否是null这里一定是符合条件的
扩容
创建红黑树节点
判断需不需要进行旧值覆盖
头节点就是要找数据
将节点赋值给临时变量e
e != null
数组已经初始化
链表长度大于8
数组头节点为null
修改次数加1总记录数加1
返回null
头节点是否为null
计算hash值
循环迭代链表节点
通过hash值判断放在哪个数组上
返回旧值
旧值覆盖
创建头节点
0 条评论
回复 删除
下一页