- JDK1.8之前采用的是拉链法:将链表和数组相结合。
也就是说创建一个链表数组,数组中每一格就是一个链表。若遇到哈希冲突,则将冲突的值加到链表中即可。
- jdk1.8在解决哈希冲突时有了较大的变化
当链表长度大于阈值(默认为8) 时并且数组长度达到64时,将链表转化为红黑树,以减少搜索时间。扩容 resize( ) 时,红黑树拆分成的树的结点数小于等于临界值6个,则退化成链表
![HashMap的jdk1.7和jdk1.8有什么区别 图片[1]-HashMap的jdk1.7和jdk1.8有什么区别-不念博客](https://www.bunian.cn/wp-content/uploads/2023/11/640-2-13.png)
© 版权声明
本站文章由不念博客原创,未经允许严禁转载!
THE END
也就是说创建一个链表数组,数组中每一格就是一个链表。若遇到哈希冲突,则将冲突的值加到链表中即可。
当链表长度大于阈值(默认为8) 时并且数组长度达到64时,将链表转化为红黑树,以减少搜索时间。扩容 resize( ) 时,红黑树拆分成的树的结点数小于等于临界值6个,则退化成链表