关注
在Java当中,HashMap的默认大小是16,而负载因子的大小是0.75,因此当元素超过16*0.75=12个的时候就会触发扩容。哈希表扩容是一个耗时的操作,因此我们可以指定其大小防止触发扩容从而提高程序的效率。
一般来说计算的方法是:(所需大小/负载因子) + 1。比如说我们需要存储100个元素,在使用默认负载因子的情况下,需要指定大小为100/0.75+1,约等于135个。
另外,负载因子也是可以在构造HashMap的时候传入参数的,当负载因子设置比较小的时候,触发扩容的阈值就比较低,哈希冲突的概率也会更低,这是空间换时间的思想。反之,就是时间换空间。
总的来说,还是遵循上文提到的公式:(所需大小/负载因子) + 1。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
转发
投递中国邮政储蓄银行等公司7个岗位 > 机械制造2024笔面经
点赞 评论 收藏
转发
牛客热帖
正在热议
# 牛客帮帮团来啦!有问必答 #
348797次浏览 7244人参与
# 你更愿意参加线上面试还是线下面试? #
4613次浏览 73人参与
# 晒一晒我的offer #
2761689次浏览 49462人参与
# 如何确定求职岗位 #
100763次浏览 2393人参与
# 华为求职进展汇总 #
432866次浏览 4348人参与
# 机械人怎么评价今年的华为 #
49119次浏览 401人参与
# 非技术岗薪资爆料 #
4769次浏览 114人参与
# 第一次面试 #
13674次浏览 209人参与
# 如果再来一次,你还会学硬件吗 #
16720次浏览 330人参与
# 海信求职进展汇总 #
6771次浏览 91人参与
# 通信硬件薪资爆料 #
136796次浏览 971人参与
# 来聊聊机械薪资天花板是哪家 #
18030次浏览 138人参与
# 找工作,你会甘心进小厂还是猛冲大厂 #
22013次浏览 211人参与
# 除了offer,现在你还缺点啥? #
2006次浏览 44人参与
# 应届生应该先就业还是先择业 #
10649次浏览 103人参与
# 通信硬件人笔面经互助 #
63011次浏览 1404人参与
# 百度工作体验 #
18962次浏览 205人参与
# 讲讲我经历过的年终奖 #
5794次浏览 76人参与
# 租房前辈的忠告 #
19723次浏览 1578人参与
# 软件开发薪资爆料 #
534700次浏览 9206人参与