Map.put方法实现原理
2021-01-12 14:13:36 0 举报
HashMap实现原理。主要是put方法和get方法。这里大概列举了put方法的实现逻辑
作者其他创作
大纲/内容
是
否
判断key的元素是否相同
是否需要扩容
红黑树
数组长度>最大值
hashCode数组是否存在
判断扩容大小是否有0
链表
在树中插入数据或者更新数据
通过hashCode(String key)方法计算出hashCode值
当前容量>长度*loadFactor
判断当前是有冲突的hash
替换value
存储结构替换为红黑树
是否红黑树
不扩容
根据hashCode来确定插入表格的位置
初始化大小
resize()方法进行初始化数组
判断链表长度>树化阀值
插入成功
END
resize()
2倍扩容
0 条评论
下一页