网易,杭研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

相关推荐

昨天 22:34
已编辑
重庆邮电大学 Java
快手 客户端开发 (n+5)k*16 公积金12
点赞 评论 收藏
分享
拒绝无效加班的小师弟很中意你:求职意向没有,年龄、课程冗余信息可以删掉,需要提升项目经历。排版需要修改。
点赞 评论 收藏
分享
accaacc:2到4k,不是2k到4k,所以年薪是30块
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务