浅谈HashMap

浅谈HashMap

各位1024快乐哈哈哈,
有空看了一下HashMap的源码

关于负载因子:
负载因子,默认值是0.75
在这里插入图片描述
在实例化HashMap的时候,会输入两个参数,一个是 int initCapacity(初始化数组大小,默认值是16),一个是float loadFactor(负载因子,默认值是0.75)
在这里插入图片描述
以下方法将任意一个整数转换为2的次方,在第一次put操作后扩充数组时,会将这个threshold作为数组容量,再重新计算这个值。
在这里插入图片描述
在使用指定数组的初始容量时,数组容量必须是2的次方。

		概述:当负载因子较大时,去给table数组扩容的可能性就会少,所以相对占用内存较少(空间上较少),
	但是每条entry链上的元素会相对较多,查询的时间也会增长(时间上较多)。反之就是,负载因子较少的时候,
	给table数组扩容的可能性就高,那么内存空间占用就多,但是entry链上的元素就会相对较少,查出的时间也会
	减少。所以才有了负载因子是时间和空间上的一种折中的说法。所以设置负载因子的时候要考虑自己追求的是
	时间还是空间上的少。
	默认的负载因子是0.75,HashMap的初始容量是16,因此可以得出HashMap的默认容量是:0.75*16=12。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值