问个关于Hashmap的问题

面试官问道HashMap ,我说Hashmap是数组加链表的形式,他问我能不能直接申请一个很大数组,不要链表这样添加删除,随机访问都很快,不知道怎么回答,请问各位有什么看法?
全部评论
不能,总归你还得解决冲突,不是说数组大就没有冲突了。可以参考JDK1.8中HashMap的实现方式,是采用数组加红黑树的方式,能在冲突时由链表的O(n)优化到O(logn)。
点赞 回复 分享
发布于 2016-09-26 21:50
散列函数很重要啊,再大的数组,没有好的散列函数还是会冲突
点赞 回复 分享
发布于 2016-09-27 10:06
觉得面试官的意思应该是理想情况,初始化的时候装载因子设置的小一些。冲突概率会变低,只是空间需要更多。
点赞 回复 分享
发布于 2016-09-27 08:59
这是理想状态,没有冲突
点赞 回复 分享
发布于 2016-09-27 08:54
链表和红黑树。。
点赞 回复 分享
发布于 2016-09-27 07:29
应该是问除了链表解决冲突还有哪些方法吧 比如再hash 
点赞 回复 分享
发布于 2016-09-26 22:36
除非你用开放地址法去解决哈希冲突
点赞 回复 分享
发布于 2016-09-26 22:06
链表拿来解决冲突的,再大也会冲突
点赞 回复 分享
发布于 2016-09-26 22:05
变向问链表和数组结构区别
点赞 回复 分享
发布于 2016-09-26 21:57
hashmap结合了数组快速的随机访问的和链表快速的插入删除。 去如果用大数组的话,那么在中间插入或者删除节点,效率会非常低
点赞 回复 分享
发布于 2016-09-26 21:53
申请再大的空间也会有冲突啊,冲突了还得链表,要不然就得更改解决冲突的方法
点赞 回复 分享
发布于 2016-09-26 21:42

相关推荐

昨天 11:46
Java
如图:也是让我遇到逆天公司了,实习生是按天给工资,不忙直接强制休假了
baskly:公司为北京超图软件股份有限公司武汉分公司,明年公司应该会招新实习生,刷到的小伙伴快跑
点赞 评论 收藏
分享
程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
2025-12-05 18:09
已编辑
广东药科大学 后端工程师
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务