hashmap流程
2023-01-09 14:38:22 0 举报
hashmap流程
作者其他创作
大纲/内容
key是否存在
扩容resize()
根据key计算数组索引值
否
结束
是
判断table是否为空
++size>threshold
加入新节点
直接插入
开始
添加新节点
退化链表:1 remove时退化// 在红黑树的root节点为空 或者root的右节点、root的左节点、root左节点的左节点为空时 说明树都比较小了if (root == null || (movable && (root.right == null || (rl = root.left) == null|| rl.left == null))) { tab[index] = first.untreeify(map); // too small return;}2 在扩容时 low、high 两个TreeNode 长度小于6时 会退化为链表。
链表长度是否大于等于8
直接覆盖
转红黑树
(e==p.next)==null
扩容resize()
tab[i]是否是treeNote
遍历链表
tab[i]==null
0 条评论
下一页