直接覆盖value
否
是
key是否存在
红黑树
Resize()
Table[i]是否是TreeNode
table:数组threshold:所能容纳的key-value对极限resize():扩容方法 treeNode:红黑树节点
Table为空或者length==0
链表
转换成红黑树
直接在红黑树中插入
开始
直接插入
计算索引,逻辑判断
扩容
链表长度是否大于8
遍历链表
插入节点
结束
++size>threshold
Table[i]==null
根据key计算数组索引位置
HashMap的put方法流程,配合源码更直观