网易,杭研Java,二面其中一题

Hashmap中使用链地址法处理哈希冲突,如果entry链太长,怎么解决?
不是因为hashmap空间小,或者hash算法不好的原因。
#网易#
全部评论
java  8中,当链表的长度大于8的时候就换成红黑树,为什么用红黑树,因为,当添加元素的时候,红黑树的旋转次数不超过2次就可以平衡
点赞
送花
回复
分享
发布于 2016-08-28 16:18
jdk1.8当链大于8用红黑树代替。
点赞
送花
回复
分享
发布于 2016-08-28 16:09
网易互娱
校招火热招聘中
官网直投
链表换成红黑树
点赞
送花
回复
分享
发布于 2016-08-28 16:10
rehash
点赞
送花
回复
分享
发布于 2016-08-28 16:03
源码里有的,超过loadFactor的话resize()(这也是HashMap在多线程下形成环形链表的原因),JDK8中超过一定数目用红黑树替代链表
点赞
送花
回复
分享
发布于 2016-08-28 19:43
是想问loadFactor么?
点赞
送花
回复
分享
发布于 2016-08-28 16:04
是把链表换成红黑树吗???
点赞
送花
回复
分享
发布于 2016-08-28 17:04
红黑树
点赞
送花
回复
分享
发布于 2016-08-28 17:05
java8中,hashmap的链表长度超过8,就会转换成红黑树,可以参考下这个
点赞
送花
回复
分享
发布于 2016-08-28 18:48
使用红黑书替代
点赞
送花
回复
分享
发布于 2016-08-28 19:58
用红黑树,jdk8的hashmap就是红黑树
点赞
送花
回复
分享
发布于 2016-08-28 20:17
替换为treemap
点赞
送花
回复
分享
发布于 2016-08-28 20:18
j8中是转红黑树。
点赞
送花
回复
分享
发布于 2016-08-28 23:10
java8中长度超过八转成红黑树
点赞
送花
回复
分享
发布于 2016-08-29 00:50
java中是转RBT,c++ stl中是rehash
点赞
送花
回复
分享
发布于 2016-08-30 12:45
resize 重新哈希
点赞
送花
回复
分享
发布于 2016-09-02 11:54

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务