hashmap怎么存储键值对
时间: 2023-08-24 20:11:33 浏览: 94
HashMap是通过数组和链表的结合来存储键值对的。具体来说,HashMap内部有一个数组,数组的每个元素都是一个链表的头节点。当我们调用put(K key, V value)方法时,首先会根据key计算出一个哈希值,然后根据哈希值找到对应的数组索引位置。如果该位置为空,即没有链表头节点,那么就直接将键值对存入该位置。如果该位置已经有链表头节点,那么就需要遍历链表,找到合适的位置将键值对插入链表中。如果链表中已经存在相同的key,那么就更新对应的value值。这样,通过哈希值和链表的结合,HashMap可以高效地存储和查找键值对。\[1\]\[2\]\[3\]
#### 引用[.reference_title]
- *1* *3* [Java集合框架1——HashMap中“键值对”存放的源码理解](https://blog.csdn.net/weixin_42801884/article/details/82383550)[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^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [HashMap底层原理——储存键值对底层原理](https://blog.csdn.net/weixin_40072979/article/details/82927974)[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^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文