hashmap 的重新散列和装载因子

简介: HashMap 的装载因子是 0.75

HashMap 的装载因子是 0.75,用人话说就是当 HashMap 的容量达到定义容量的 75% 的时候,HashMap 会进行扩容,当 HashMap 进行扩容的时候就会重新散列(rehashing)。

经过考古,可以避免 rehashing 的办法就是事先需要知道要装入多少数据。

Yes, it can be avoided if you know the size of your hashmap beforehand.
Set loadFactor = 1 (default value is 0.75)
initialCapacity = size of hashmap + 1 (default value is 16).

在 stackoverflow 有人讨论过这个问题,问题的地址为:java - Can rehashing be avoided in hashmap? - Stack Overflow

 

 

我认为他的这个说法和做法是正确的。

有关另外一个 HashMap 扩容和装载因子有关的一篇解释得还不错的文章请参考链接:Load Factor and Rehashing - GeeksforGeeks

我觉得他们这篇文章说得还不错,基本上解释了扩容,重新散列和触发时间的问题。

https://www.ossez.com/t/hashmap/14222/2

目录
相关文章
|
4天前
|
存储 算法 Serverless
解决哈希冲突的方式
解决哈希冲突的方式
33 0
|
4天前
|
存储 缓存 算法
HashMap 默认加载因子非得是0.75
HashMap 默认加载因子非得是0.75
19 0
|
7月前
|
存储 算法 Shell
哈希表、哈希桶(C++实现)【STL】
哈希表、哈希桶(C++实现)【STL】
98 0
哈希桶的实现(代码版)
哈希桶的实现(代码版)
|
12月前
|
安全 Java Serverless
HashMap 计算 Hash 值的扰动函数
HashMap 计算 Hash 值的扰动函数
|
存储 Serverless
哈希桶(详解&创建)
哈希桶(详解&创建)
666 0
哈希桶(详解&创建)
|
算法 安全 数据安全/隐私保护
哈希函数/散列算法
哈希函数(Hash function),又称散列函数、散列算法,它是一种不可逆的信息摘要算法,具体实现就是把任意长度的输入信息通过哈希算法变成固定长度的输出信息。
191 0
|
消息中间件 Java Kafka
【面试题看源码】-HashMap 初始容量 计算方法
【面试题看源码】-HashMap 初始容量 计算方法
【面试题看源码】-HashMap 初始容量 计算方法
|
存储
浅析散列函数的构造方法与解决散列冲突的方法
散列函数的构造方法 数字分析法 平方取中法 平方取中法测试 测例1 测例2 折叠法 折叠法测试 测例1 测例2 随机数法 随机数法测试 测例1 除留余数法 解决散列冲突的方法 开放定址法 公共溢出区法 以开放定地法为基础的全部代码 全部代码 测试效果 以公共溢出区法为基础的全部代码 全部代码 测试效果 尾言
174 0
浅析散列函数的构造方法与解决散列冲突的方法
|
存储 Java
你给HashMap初始化了容量,却让性能变加更糟?
你给HashMap初始化了容量,却让性能变加更糟?
263 0