所谓的加载因子,也叫扩容因子或者负载因子,它是用来进行扩容判断的。
假设加载因子是0.5,HashMap
初始化容量是16,当HashMap
中有16 * 0.5=8
个元素时,HashMap
就会进行扩容操作。
而HashMap
中加载因子为0.75,是考虑到了性能和容量的平衡。
由加载因子的定义,可以知道它的取值范围是(0, 1]。
HashMap
的容量(size
属性,构造函数中的initialCapacity
变量)有一个要求:它一定是2的幂。所以加载因子选择了0.75就可以保证它与容量的乘积为整数。简单来说就是结合了存储和时间的考虑,每次扩容都会重新计算 Hash 值的。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。