java面试题网

普通会员

162

帖子

12

回复

175

积分

楼主
发表于 2018-05-25 15:13:51 | 查看: 7133| 回复: 0

HashMap 1.7 与 1.8 的 区别,说明 1.8 做了哪些优化,如何优化的

JDK1.7用的链表散列结构,JDK1.8用的红黑树

在扩充HashMap的时候,JDK1.7的重新计算hash,

JDK1.7只需要看看原来的hash值新增的那个bit是1还是0就好了,是0的话索引没变,是1的话索引变成“原索引+oldCap;

DK1.7中rehash的时候,旧链表迁移新链表的时候,如果在新表的数组索引位置相同,则链表元素会倒置,但是从上图可以看出,

JDK1.8不会倒置



文章来自www.wityx.com,转载请注明出处!原文地址http://www.wityx.com/post/458_1_1.html


java面试题交流群:327440556      阿里云产品2000元通用优惠券限时领


您需要登录后才可以回帖 登录 | 立即注册

java面试题网www.wuliaokankan.cnjava建站系统提供技术支持V2.1 网站地图 © 2016-2018