java面试题网

普通会员

108

帖子

11

回复

136

积分

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

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

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

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

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

JDK1.8不会倒置



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

java面试题网无聊看看网与java建站系统提供技术支持V2.1 网站地图 © 2016-2018