jdk1.7和1.8的hashmap区别
时间: 2023-04-23 22:06:57 浏览: 83
JDK1.7的HashMap使用的是链表+红黑树,当链表长度超过阈值(默认为8)时会转化为红黑树,以提高查询效率。
JDK1.8的HashMap引入了红黑树+红黑树,即在桶中使用链表和红黑树,在链表长度超过阈值时,将链表转化为红黑树,这样提高了HashMap的查询效率和平衡性。
因此,JDK1.8的HashMap在性能和平衡性方面要优于JDK1.7。
相关问题
jdk1.7和1.8hashmap
在jdk1.7中,HashMap的底层实现是由数组和链表组成的。而在jdk1.8中,HashMap的底层实现是由数组、链表和红黑树组成的。 在节点方面,jdk1.8中的hash值设置为final修饰,因此计算出来的结果只可能是一个。 对于null的处理也有所不同,jdk1.8中的hash值一旦确定就不会再重新计算,同时新增了一个TreeNode节点,用于在需要时将链表转换为红黑树。 总的来说,jdk1.8相比于jdk1.7在HashMap的实现上进行了优化和改进。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [HashMap JDK1.7和JDK1.8的区别](https://blog.csdn.net/qq_47350811/article/details/127327440)[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^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
hashMapJDK1.7和1.8
JDK 1.7 和 JDK 1.8 在 HashMap 这个类上有一些区别。
在 JDK 1.7 中,HashMap 内部使用的是数组加链表的数据结构来存储键值对。当发生哈希冲突时,即多个键映射到同一个数组索引位置时,会以链表的形式存储在该位置。这种实现方式需要遍历链表来查找指定键值对,导致当链表长度过长时,性能下降。
而在 JDK 1.8 中,HashMap 内部的实现发生了变化。当链表长度超过一个阈值(默认为8)时,会将链表转换为红黑树(TreeMap)来提高查询效率。这种改进使得在大部分情况下,HashMap 的性能都能得到提升。
另外,在 JDK 1.8 中还引入了一种新的数据结构,称为红黑树(Red-Black Tree),用于替代链表。红黑树是一种自平衡的二叉查找树,可以在 O(log n) 时间复杂度内进行搜索、插入和删除操作。当链表长度超过一定阈值时,将链表转换为红黑树可以提高搜索的效率。
总结来说,JDK 1.8 中的 HashMap 在解决哈希冲突和提高查询效率方面进行了优化,使得在大规模数据集的情况下,性能得到了明显提升。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)