首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
还没有回复哦~
相关推荐
11-13 09:12
网龙网络公司_场景原画设计师(准入职员工)
网龙内推网龙面经
10.24 秋招基本结束了,前两天接了个网龙最终测评,期待oc。秋招期间对我帮助最第二大的就是牛客上各位前辈的面经了(第一是女友,表白一下),于是也提键盘写一个,算是知恩图报,也算是攒攒人品求快点oc。bg:本硕985,软工出身。无实习,除了本科有游戏设计的课程之外毫无相关经验。计算机水平不行,但是脑袋还算灵光,加上由于很喜欢网龙的某款卡牌类游戏(名字大伙应该都知道),所以秋招开始目标就比较明确,就想去网龙!于是游戏公司的投简历策略是先投几个次一等想去的公司试水,隔几天再投网龙,最后留了几个大厂,想着网龙要是没上也还积累了经验,也算是给自己缓冲时间和学习时间。除此之外还投了一些大中厂(豚子,华...
点赞
评论
收藏
分享
11-02 10:28
吉林大学 Java
大佬们都做的什么项目啊?
目前研二,想在暑期实习之前做一两个项目,大家有什么项目推荐么#简历中的项目经历要怎么写#
简历中的项目经历要怎么写
点赞
评论
收藏
分享
11-26 17:38
门头沟学院 C++
实习好难找
#我的第一份实习怎么找的# 本来想着今年找个实习,可是感觉自己学的不太行,题目刷的不够多,也没有搞啥项目,简历也做得不好,非科班真的太难了
我的第一份实习怎么找的
点赞
评论
收藏
分享
11-14 21:55
已编辑
佛山大学 Java
27届双非 java
佬们,请问把黑马点评和鱼皮的oj项目啃完,暑假能找到实习吗,实习对八股文要求如何?本人现在也有在学校实验室做外面公司的web项目,能包装成实习经历吗,求佬们指导 #Java# #双非# #实习#
Java抽象带篮子:
可以看看我的苍穹外卖话术帖子和万字八股笔记帖子
点赞
评论
收藏
分享
11-13 13:43
未填写教育信息 Java
第一次实习前感悟
哈喽啊牛u们,这篇文章主要讲述一下这段时间投递简历以来的经历吧,当个乐子看看就好。本人bg 双非 26 届,只有一些蓝桥杯国奖和天梯赛国奖,找的是java后端开发日常实习。时间线:10 月初事件:八股文和算法已经准备了一段时间了,后续将初步完善的项目写入到简历中,观摩牛u们的简历写法,将优化后的简历开始往中厂官网投递➕boss小厂投递。投了近两周吧,中厂基本没笔试面试机会(投了 10 几家),小厂大多数看到我是 26 届的基本已读不回。后来觉得可能是简历问题,于是又花了几天去优化简历(感觉项目问题挺大,后续换了个项目并且自己扩展了一部分)。时间线:10 月中旬事件:找了个佬看了下简历,佬说没啥问题之后,我就开始投了(感谢佬给了我信心)。这次目标只有小厂,于是接下来的两周在boss上投了近 100 份,陆续开始约到了笔试和面试了(可能是月份的原因)。时间线:11 月 10 号左右事件:这段时间大概约到了四个厂的笔试面试,只有一个厂的二面挂了(投成校招了)。离谱事件:其中两个厂都没有hc,只有一个奴隶小厂给我offer(后续还会提到!)。仔细看了下奴隶小厂,实在太黑奴了(实习生发月薪,一个月 2k,是 1.5k➕500,这 500 每个月都发,如果实习不满半年,那么这几个月发的 500 都需要被扣回去),于是一直在等下一个offer(与此同时,同学还收到了当地某公司的投资吧,打算拉我入伙做开发(当时心动了一下,还好后面跟他说过两天给答复))。极其幸运事件:就在同学跟我说完的后一天,上一个没有hc的厂,因为那个实习生跑路了,所以多出来了一个hc,boss上沟通的hr在周六上午 10 点多 给我打电话(还好把我吵醒了(睁开眼的时候以为是哪里的骚扰电话),没接的话感觉世界时间线都变了),于是接了offer在一周内入岗(待遇比奴隶小厂好不少,还是发的日薪)。这边感谢那个打我电话的hr非常感谢x10最近的感受:一直不知道下一场面试是什么时候,只能一直在准备。准备八股文和算法的过程感觉是十分枯燥的,还好最后有厂愿意给双非🐭🐭一个机会最后的心情:感觉十分幸运x3, 但是第一次逃离学校去租房生活,感到有些忐忑。同时,对第一次入职也感到一丝的兴奋。也不知道啥时候被学校喊回去😂 #实习工作,你找得还顺利吗?#
实习工作,你找得还顺利吗?
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
6
15
分享
评论
提到的真题
返回内容
招聘动态
查看更多
字节跳动
2025校园招聘
阿里云管培生
2025届校园招聘
快手Star
2025届招聘
快手
销售类投递专区
富士通(西安)
2025校园招聘
全站热榜
1
...
到了新公司,不要用力过猛
1.9W
2
...
校招两方/三方违约模板
1.2W
3
...
【发帖有奖💰】爆料秋招开奖进展❗
1.1W
4
...
万字长文讲透金融科技方向的就业机会
1.0W
5
...
从露宿街头到百万级种子轮融资②——我的实习期都经历了什么
8207
6
...
秋招圆满结束!!
6839
7
...
华为开奖?
6822
8
...
听学长的没错
6619
9
...
华为开奖,详细时间线
6460
10
...
同事在会议室扇了自己好几个大嘴巴子
5739
正在热议
#
拼多多求职进展汇总
#
230349次浏览
2025人参与
#
哪些公司校招卡第一学历
#
32334次浏览
100人参与
#
北方华创开奖
#
65547次浏览
545人参与
#
25届秋招总结
#
390913次浏览
3901人参与
#
ai智能作图
#
18563次浏览
238人参与
#
地方国企笔面经互助
#
6379次浏览
16人参与
#
阿里云管培生offer
#
57164次浏览
1736人参与
#
在职场上,你最讨厌什么样的同事
#
5487次浏览
79人参与
#
硬件兄弟们 甩出你的华为奖状
#
77568次浏览
624人参与
#
实习,投递多份简历没人回复怎么办
#
2433607次浏览
34691人参与
#
实习与准备秋招该如何平衡
#
721854次浏览
8543人参与
#
我的实习求职记录
#
6115758次浏览
83918人参与
#
工作中,你有没有遇到非常爱骂人的领导?
#
4603次浏览
47人参与
#
如果再来一次,你还会选择这个工作吗?
#
107876次浏览
1083人参与
#
如果你有一天可以担任公司的CEO,你会做哪三件事?
#
9643次浏览
200人参与
#
腾讯求职进展汇总
#
207024次浏览
1693人参与
#
夸夸我的求职搭子
#
131848次浏览
1360人参与
#
实习想申请秋招offer,能不能argue薪资
#
35621次浏览
308人参与
#
牛客租房专区
#
4380次浏览
120人参与
#
中兴求职进展汇总
#
467666次浏览
2439人参与
#
华为工作体验
#
109908次浏览
855人参与
#
如果有时光机,你最想去到哪个年纪?
#
27438次浏览
570人参与
牛客网
牛客企业服务