首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
蜗牛20191023145836
2021-05-17 03:08
四川大学 Java
关注
已关注
取消关注
hashmap底层原理
hashmap是由数组+链表构成的,在数组里面嵌套了链表,链表使用的结构为头插法。链表里面可以放多个entry即key, value防止冲突。
#Java工程师面试常考题#
#学习路径#
提示
全部评论
推荐
最新
楼层
蜗牛20191023145836
楼主
四川大学 Java
https://zhuanlan.zhihu.com/p/76735726
2
回复
分享
发布于 2021-05-17 03:43
蜗牛20191023145836
楼主
四川大学 Java
两个常用的方法:hashmap.put和get
点赞
回复
分享
发布于 2021-05-17 03:09
蜗牛20191023145836
楼主
四川大学 Java
hashmap的默认初始长度为16,每次自动扩展或者手动扩展时,长度必须是2的幂
点赞
回复
分享
发布于 2021-05-17 03:11
蜗牛20191023145836
楼主
四川大学 Java
对于HashMap,我们最常使用的是两个方法:Get 和 Put。 1.Put方法的原理 调用Put方法的时候发生了什么呢? 比如调用 hashMap.put("apple", 0) ,插入一个Key为“apple"的元素。这时候我们需要利用一个哈希函数来确定Entry的插入位置(index): index = Hash(“apple”)
点赞
回复
分享
发布于 2021-05-17 03:14
蜗牛20191023145836
楼主
四川大学 Java
如何实现一个尽量均匀分布的Hash函数呢?我们通过利用Key的HashCode值来做某种运算。 位运算的方式实现:(Length是HashMap的长度): index = HashCode(Key) & (Length - 1)
点赞
回复
分享
发布于 2021-05-17 03:16
蜗牛20191023145836
楼主
四川大学 Java
下面我们以值为“book”的Key来演示整个过程: 1.计算book的hashcode,结果为十进制的3029737,二进制的101110001110101110 1001。 2.假定HashMap长度是默认的16,计算Length-1的结果为十进制的15,二进制的1111。 3.把以上两个结果做与运算,101110001110101110 1001 & 1111 = 1001,十进制是9,所以 index=9。 可以说,Hash算法最终得到的index结果,完全取决于Key的Hashcode值的最后几位。
点赞
回复
分享
发布于 2021-05-17 03:18
蜗牛20191023145836
楼主
四川大学 Java
如果不是2的幂,会导致不均匀。只要是2的幂,并且保证hashcode是均匀分布的,那么得出的结果就是均匀的
点赞
回复
分享
发布于 2021-05-17 03:20
蜗牛20191023145836
楼主
四川大学 Java
第一:当length为2的N次方的时候,h & (length-1) = h % length 为什么&效率更高呢?因为位运算直接对内存数据进行操作,不需要转成十进制,所以位运算要比取模运算的效率更高 第二:当length为2的N次方的时候,数据分布均匀,减少冲突 此时我们基于第一个原因进行分析,此时hash策略为h & (length-1)。
点赞
回复
分享
发布于 2021-05-17 03:34
蜗牛20191023145836
楼主
四川大学 Java
https://mp.weixin.qq.com/s/-xFSHf7Gz3FUcafTJUIGWQ
点赞
回复
分享
发布于 2021-05-17 03:42
还没有回复哦~
相关推荐
02-23 13:45
已编辑
门头沟学院 Java
谁该为“孔乙己的长衫”负责?——反思教育与社会之困
当代社会,"孔乙己的长衫"已成为一种令人深思的隐喻。它不仅仅代表着学历的光环,更折射出中国教育体系与就业市场之间的深层矛盾。当数以百万计的大学生走出象牙塔,他们发现自己引以为傲的学历竟成了求职路上的绊脚石。这种现象暴露出我国人才培养与社会需求之间的严重脱节,也凸显了教育改革与产业升级的紧迫性。一、学历困境:孔乙己长衫的现代困境教育部最新数据显示,2024年全国高校毕业生规模预计达到1187万人,同比增加29万人,再创历史新高。然而,质莲招聘2024年第一季度就业市场报告显示,超过65%的企业在招聘时更看重实践经验而非学历背景。某知名互联网企业的招聘负责人坦言:"我...
学历对求职的影响
你会选择考研还是直接就业
点赞
评论
收藏
分享
02-20 09:59
友塔游戏_HR(准入职员工)
友塔游戏内推友塔游戏面经
友塔游戏 游戏开发工程师 一面面经2024届秋招 友塔游戏 游戏开发工程师 30min1. 题目:有n根棍子,棍子i的长度为ai。想要从中选出三根棍子组成周长尽可能长的三角形。请输出最大的周长,若无法组成三角形则输出。2. 题目:一个环,有n个点(编号 0 ~ n-1 ), 问从0点出发,经过k步回到原点(0点)有多少种方法 ?3. 如果有一个进程占用内存 500M,使用 fork,它的内存占用?(写时复制)4. MySQL了解吗?比如索引?(不太了解,只会写一些 SQL 语句)5. 查看内存的占用情况? top6. 你在 vivo 排查,解决问题是什么途径,有人指导吗?7. 怎么查看 tcp...
友塔游戏
|
校招
|
超多精选岗位
点赞
评论
收藏
分享
02-18 09:55
已编辑
广东文理职业学院 人力资源专员/助理
演都不演了
这种公司老板是怎么想的,把女性当资源,陪酒还成任职要求了??
mq2:
我倒是觉得这种敞亮一点好。能接受就去不能就不去呗。 完了跟现在“正常”公司一样,hr说的天花乱坠,进去一看根本就是996核动力牛马,想走又没应届生身份了。岂不是更糟。
点赞
评论
收藏
分享
02-14 14:14
东南大学 嵌入式软件工程师
26届暑假实习嵌入式
26届硕士毕业,双非本9硕,打算在南京找暑假实习,求大佬指出简历问题,谢谢!有推荐的实习更好,谢谢!#实习#嵌入式软件 #简历咨询
牛客840262577号:
实习肯定随便找啊。建议去大厂 干干。干得不错 可以留下。
点赞
评论
收藏
分享
今天 15:03
北京交通大学 后端
字节一面凉经
项目中遇到的难题,怎么解决的事务隔离级别事务特性,怎么实现的mysql索引是什么数据结构,为什么不使用二叉树或者跳表?redis主从同步怎么实现的,怎么实现增量同步?redis中zset的数据结构是什么哈希冲突是什么,解决办法1000w url排序,10M内存(没答好)一个商品1000万库存,20w秒杀,只用设计减库存环节(没答好)算法题:超简单的括号匹配(只有小括号)(看到这题我知道肯定凉了,有点侮辱了)算法A出来就结束了,反问环节都没有,项目难题这块没答好,八股都答得可以,目前自己需要加强的是场景题这块
投递字节跳动等公司10个岗位 >
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
6
15
分享
评论
提到的真题
返回内容
招聘动态
查看更多
米哈游
2025春季校园招聘
26届实习网申合集点就送~
25年薪资合集点击领取!
京东 TET管培生
全站热榜
更多
1
...
实习怎么偷产出?
2.4W
2
...
怎么实习,含金量最高?
1.2W
3
...
有奖征文:职场上哪些行为很加分?投稿得丰厚奖励!
9204
4
...
字节春招前端一面二面凉经
6431
5
...
面试大厂反拷打指南(字节&腾讯)
5887
6
...
腾讯实习基地hr 一面挂
5359
7
...
工科双非一定要读研
5237
8
...
告诉俺娘,俺不是孬种!鼓起勇气管mentor要饭钱了(有后续了)
4869
9
...
字节生活服务后端开发日常实习一二三面经
4706
10
...
明知道自己考不上研,还要坚持吗?
4288
创作者周榜
更多
正在热议
更多
#
如何KTV领导
#
31382次浏览
256人参与
#
研究所笔面经互助
#
55079次浏览
395人参与
#
掌阅春招
#
88763次浏览
515人参与
#
你投递的公司有几家约面了?
#
39091次浏览
228人参与
#
软开人,秋招你打算投哪些公司呢
#
66916次浏览
716人参与
#
生物制药/化工校招攻略
#
33765次浏览
265人参与
#
硬件/芯片公司工作体验
#
58463次浏览
560人参与
#
当下环境,你会继续卷互联网,还是看其他行业机会
#
72547次浏览
539人参与
#
软件开发春招备战日记
#
57572次浏览
493人参与
#
如何缓解入职前的焦虑
#
141615次浏览
1126人参与
#
你最近一次加班是什么时候?
#
31838次浏览
250人参与
#
你遇到过哪些神仙同事
#
45118次浏览
425人参与
#
vivo求职进展汇总
#
167848次浏览
1020人参与
#
产品每日一题
#
29043次浏览
404人参与
#
考研人,我有话说
#
14657次浏览
282人参与
#
你今年的平均薪资是多少?
#
94251次浏览
462人参与
#
TP-LINK工作体验
#
38497次浏览
786人参与
#
还记得你第一次面试吗?
#
75895次浏览
1094人参与
#
秋招白月光
#
52700次浏览
776人参与
#
上班苦还是上学苦呢?
#
201335次浏览
1236人参与
#
想给25届机械人的秋招建议
#
22488次浏览
203人参与
牛客网
牛客企业服务