首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用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
https://mp.weixin.qq.com/s/-xFSHf7Gz3FUcafTJUIGWQ
点赞
回复
分享
发布于 2021-05-17 03:42
蜗牛20191023145836
楼主
四川大学 Java
第一:当length为2的N次方的时候,h & (length-1) = h % length 为什么&效率更高呢?因为位运算直接对内存数据进行操作,不需要转成十进制,所以位运算要比取模运算的效率更高 第二:当length为2的N次方的时候,数据分布均匀,减少冲突 此时我们基于第一个原因进行分析,此时hash策略为h & (length-1)。
点赞
回复
分享
发布于 2021-05-17 03:34
蜗牛20191023145836
楼主
四川大学 Java
如果不是2的幂,会导致不均匀。只要是2的幂,并且保证hashcode是均匀分布的,那么得出的结果就是均匀的
点赞
回复
分享
发布于 2021-05-17 03:20
蜗牛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
如何实现一个尽量均匀分布的Hash函数呢?我们通过利用Key的HashCode值来做某种运算。 位运算的方式实现:(Length是HashMap的长度): index = HashCode(Key) & (Length - 1)
点赞
回复
分享
发布于 2021-05-17 03:16
蜗牛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
hashmap的默认初始长度为16,每次自动扩展或者手动扩展时,长度必须是2的幂
点赞
回复
分享
发布于 2021-05-17 03:11
蜗牛20191023145836
楼主
四川大学 Java
两个常用的方法:hashmap.put和get
点赞
回复
分享
发布于 2021-05-17 03:09
暂无评论,快来抢首评~
相关推荐
01-30 13:45
门头沟学院 产品经理
纯前端小游戏Demo制作
Prompt分享:P: 作为一名专为5-8岁儿童设计游戏的资深前端开发者。 T: 请帮我创建一个“图片单词配对”的网页小游戏。 C: 游戏的目标是帮助小学一年级学生学习10个关于水果的英文单词(Apple, Banana, Orange, Grape, Strawberry, Watermelon, Peach, Pear, Mango, Lemon)。游戏界面需要展示10张水果图片和10个单词卡片,学生需要将正确的单词拖拽到对应的图片上。拖拽正确时,卡片会吸附到图片旁并有绿色提示;错误则弹回原位并有红色提示。 F: 请将所有的HTML、CSS和JavaScript代码生成在一个单一的HTM...
Prompt分享
点赞
评论
收藏
分享
昨天 15:18
华南师范大学 Web前端
27前端求助
bg211,目前0实习,项目只做了小兔鲜电商平台。打算开学后找实习,但是目前不知道应该如何准备,大家说的八股之类的应该去哪里看,以及应该怎么刷算法比较好?另外暑期招聘是不是马上要开始了,我应该先找日常实习然后边做边投吗?我对于这些时间线还是比较迷
点赞
评论
收藏
分享
01-16 23:54
广西职业师范学院 嵌入式工程师
末流公办二本简历求拷打
随便讲,不玻璃心。目前在广西南宁找到2000的嵌入式,准备去面试
点赞
评论
收藏
分享
01-23 12:08
蔚来_自动驾驶_高级软件研发工程师
每日笑话——美团Peppr
当年还在美团那个倒霉的 Peppr 团队工作时,我一直有个疑问:这群人每天到底在自嗨什么。每次开会一堆人围着一堆“看起来很高级”的文档转,模板统一、名词复杂、页数感人,每一页都在暗示一件事:“你不懂,是因为你不专业。”但现实是——代码照样写在 💩 山上,该出问题还是会出问题,这真的很逗,系统一出问题,文档的唯一作用就是证明:“我们当初确实认真写过文档。”所以本质区别到底是什么?是代码质量提升了,还是大家在精神层面完成了一次“工程师 cosplay”?有句话说得好潮水退去才知道谁在裸泳。还记得当时的马哥、明哥(图 1 左)最爱反复强调一句话:“所有场景一定要想到。”、“这个场景为什么没考虑到?”不过他们这些话我是真的听进去了。不然我也不会在一年多前就说:这个项目活不过两年。顺带一提,那段时间还有个固定节目。每次下楼,总能听见我明哥在吐槽不同的人。我从他身后绕过去,经常能听到他一边抽烟一边说:“xx 这小子太坑了,回头我一定要跟马哥说说。”于是深谙人情世故但真不会抽烟的我也会从口袋掏出一支低尼古丁含量的烟给自己点上,假意自己什么都没听到什么都不知道,只是来抽烟的。后来我才明白,这可能也是团队文化的一部分:问题永远在别人身上,而我们,永远在复盘里😂。
秋招白月光
点赞
评论
收藏
分享
02-02 20:44
已编辑
无锡小学 测绘工程师
牛客娘马里奥(nowcoderMario) 网页小游戏制作
牛客娘 2D 横版跳跃游戏 - 核心玩法介绍游戏链接:http://www.silencer76.com/nowcoderMario/游戏制作视频链接:https://www.bilibili.com/video/BV15u67BrEi3/?share_source=copy_web&vd_source=bbe3669fa4c84d2c18b35fbe6e31ff8c游戏概述这是一款以牛客娘为主角的 2D 横版跳跃游戏,类似经典的超级马里奥,包含 6 个精心设计的关卡,每个关卡都有独特的主题和挑战。操作控制W 键:跳跃(可以连跳)A 键:向左移动D 键:向右移动P 键:暂停游戏空格键:...
牛客AI体验站
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
6
15
分享
评论
提到的真题
返回内容
招聘动态
查看更多
27届简历点评
27届寒假/转正实习汇总
全站热榜
更多
1
...
AI 应用开发学习全景路线图
1.4W
2
...
百度Agent智能体研发日常实习一二面
5128
3
...
计算机专业如何找实习?(26届计算机找实习经验帖)
4414
4
...
大厂到底想要什么样的人???
3889
5
...
害怕被嘲笑就不去做了吗?
3611
6
...
面试官视角聊聊,AI大模型产品到底是做什么的?
2474
7
...
纯前端网页拼图小游戏制作
1396
8
...
测试/测开方向刷题经验分享
1372
9
...
2026的你,应该知道哪些AI面试题?
1338
10
...
因为简历太烂被培训班找上了吗
1123
创作者周榜
更多
正在热议
更多
#
在大厂上班是一种什么样的体验
#
2954次浏览
41人参与
#
找工作的破防时刻
#
251171次浏览
1947人参与
#
程序员找工作至少要刷多少题?
#
6332次浏览
104人参与
#
OPPO求职进展汇总
#
770535次浏览
5395人参与
#
论秋招对个人心气的改变
#
4450次浏览
76人参与
#
程序员能干到多少岁?
#
4634次浏览
72人参与
#
为了减少AI幻觉,你注入过哪些设定?
#
1296次浏览
41人参与
#
刚入职的你踩过哪些坑
#
3035次浏览
67人参与
#
一张图晒一下你的AI员工
#
2137次浏览
51人参与
#
牛客AI体验站
#
2286次浏览
67人参与
#
AI Coding的使用心得
#
1827次浏览
45人参与
#
我现在比当时_,你想录用我吗
#
2952次浏览
46人参与
#
关于春招/暑期实习,你想知道哪些信息?
#
3053次浏览
67人参与
#
晒晒你司的新年福利
#
2908次浏览
51人参与
#
实习,不懂就问
#
163894次浏览
1458人参与
#
软开人,秋招你打算投哪些公司呢
#
180259次浏览
1383人参与
#
帆软软件工作体验
#
12612次浏览
68人参与
#
牛客租房专区
#
146505次浏览
1462人参与
#
从哪些方向判断这个offer值不值得去?
#
51058次浏览
348人参与
#
简历无回复,你会继续海投还是优化再投?
#
138788次浏览
875人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务