hashmap 1.7 环
时间: 2023-08-24 09:12:17 浏览: 105
引用\[3\]提到,HashMap在1.7版本中没有使用红黑树,而是使用了链表来存储元素。由于使用尾插法,每次都要遍历链表去获取尾节点,这样会耗费性能。而在1.8版本中,HashMap采用了红黑树结构,并且转换条件是链表长度大于8时才会转换成红黑树。这样,遍历链表的次数最大就是8,当超过8时就会转换成红黑树。遍历红黑树的次数取决于树的深度,所以遍历的性能消耗可以忽略不计。这样就解决了头插法循环引用的问题。\[3\]
所以,在HashMap 1.7版本中,由于没有使用红黑树,可能会存在环的问题。但在1.8版本中,通过使用红黑树结构,并设置了转换阈值为8,可以有效地解决环的问题。
#### 引用[.reference_title]
- *1* [HashMap1.7 扩容产生环形链表](https://blog.csdn.net/weixin_42496727/article/details/124118191)[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^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [HashMap的原理,1.7为什么会形成环](https://blog.csdn.net/weixin_41796956/article/details/120562231)[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^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文