hashmap的get执行过程
时间: 2023-10-15 18:28:22 浏览: 49
HashMap的get执行过程如下:
1. 首先,根据要获取的key的hashCode计算出对应的hash值。
2. 根据hash值计算出在内部数组中的索引位置。
3. 在该索引位置处查找第一个entry节点。
4. 如果找到的entry节点的key与要获取的key相同,则返回该entry节点的value值。
5. 如果找到的entry节点的key与要获取的key不相同,则判断该entry节点是否为一个链表或红黑树的根节点。
6. 如果是链表,则遍历链表,逐个比较每个节点的key与要获取的key,找到相同的则返回对应的value值。
7. 如果是红黑树,则通过红黑树的查找过程找到对应的节点,返回其value值。
8. 如果在链表或红黑树中没有找到对应的key,则返回null。
综上所述,HashMap的get方法根据key的hashCode找到对应的位置,然后通过比较key的值来获取相应的value值。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [HashMap的get()方法的执行过程:](https://blog.csdn.net/weixin_53571731/article/details/131724923)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [HashMap 的 get 方法的流程分析(源码)](https://blog.csdn.net/qq_45369827/article/details/114935265)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]