java中,HashMap的读流程是什么?

2021-03-01 19:44发布

4条回答
java2
2021-03-20 16:47

1.计算哈希。调用hash()方法。
2.调用getNode()方法获取node对象。
2.1.table数组已经初始化,长度大于0,根据hash寻找table中的项也不为空。
2.2.table[索引]中的first元素的key相等,直接返回node;不相等,执行下一步骤2.3。
2.3.如果first元素的next节点存在,继续下一步骤2.4。
2.4.如果first元素是TreeNode,调用getTreeNode()方法。
2.4.1.获取root节点。
2.4.2.调用find方法,获取TreeNode对象。
2.5.如果first元素不是TreeNode,遍历链表。
3.如果node对象为空,直接返回null;如果不为空,返回e.value。

一周热门 更多>