为了账号安全,请及时绑定邮箱和手机立即绑定
点赞点赞点赞
点赞点赞点赞
点赞点赞点赞
是一门不错的课程

最新回答 / qq_Eve小情绪_23806791
创建hashmap对象时如果是无参创建,默认负载因子就是0.75。如果是有参的话,可以自定义大小及负载因子的配置。但是负载因子设置0.75为性能最优。如果要计算负载因子:存储数据的长度/创建hashmap的长度。你要问的是计算实际使用长度吧?如果使用默认长度是16,负载因子默认是0.75.那个可使用长度实际上为16*0.75的长度为12.如果超过长度12就会自动扩容为原长度的2倍为长度32,给之前赋的值再进行hash计算,重新定位。
扩容的条件,应该是容量大于16的75%,就行了,而不是数组长度要被占用75%以上吧

最新回答 / 高级程序员蒙蒙
他实例化的时候是封装的 Integer,你说的 120 需要自动装箱。直接 new integer 省了一步直接实例化

最赞回答 / botao555
你的理解有偏差, 跟是否产生hash碰撞没关系!! new HashMap(10000, 0.75f)这里的10000指的是map里存的key的数量, map里有个成员变量size来记录的, 不是代表数组大小! 可以看HashMap的put方法的源码, 如果key已存...
很适合对map理解不深的,老师讲的很通俗易懂,很好理解,讲的非常的棒
欢迎关注微信公众号:码上Java
看完了。谢谢大家~~~
笔记01?:https://blog.csdn.net/weixin_44949135/article/details/106862811

笔记02?:https://blog.csdn.net/weixin_44949135/article/details/106867447

笔记03?:https://blog.csdn.net/weixin_44949135/article/details/106871503
1、2章笔记(希望能帮助到大家~):https://blog.csdn.net/weixin_44949135/article/details/106862811
老师讲的挺不错的,适合刚入门的来听听

最新回答 / 隔壁老杜不风流
不会,老师讲的很明白了,如果不发生碰撞的话,是会扩容,照你的比如,key通过hash取址后只有10000(超过12288才会扩容),未达到16384*0.75=12288,所以是不会扩容的,这是我的理解,如果回答错误还望指正。

最赞回答 / Kevin_Glaser
我是HashMap和LinkedHashMap分开写的,HashMap的赋值取值完毕了再去运行LinkedHashMap的,但是我的赋值是LinkedHashMap快,取值反而LinkedHashMap慢了
课程须知
1、了解Java的基础知识 2、对HashMap有基本的了解和使用 3、适合无论什么情况都使用HashMap的使用者 4、适合想要了解HashMap底层原理及性能分析结果的使用者 5、未使用测试工具,使用编程的方式,分析对比家族成员性能
老师告诉你能学到什么?
1、HashMap的底层原理 2、HashMap是的怎么计算存储位置的 2、使用代码进行性能分析的方法,Map成员的性能对比 3、Map家族成员,不同使用环境下,用哪一个?

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消