HashMap的jdk1.7和jdk1.8有什么区别

  • JDK1.8之前采用的是拉链法将链表和数组相结合

也就是说创建一个链表数组,数组中每一格就是一个链表。若遇到哈希冲突,则将冲突的值加到链表中即可。

  • jdk1.8在解决哈希冲突时有了较大的变化

当链表长度大于阈值(默认为8) 时并且数组长度达到64时,将链表转化为红黑树,以减少搜索时间。扩容 resize( ) 时,红黑树拆分成的树的结点数小于等于临界值6个,则退化成链表

图片[1]-HashMap的jdk1.7和jdk1.8有什么区别-不念博客
© 版权声明
THE END