关于HashMap的加载因子相关理解

文章封面
摘要: HashMap criteria = new HashMap<>(1);什么意思呢?关于加载因子加载因子也叫作扩容因子,用来判断什么时候进行扩容,假

HashMapcriteria = new HashMap<>(1);什么意思呢?

关于加载因子

加载因子也叫作扩容因子,用来判断什么时候进行扩容,假设加载因子为0.75,HashMap的初始容量为16,当HashMap中有16 * 0.75 = 12个容量时,HashMap就会进行扩容。

如果加载因子越大,扩容发生的频率就会比较低,占用空间比较小,但是发生hash冲突的几率会提升,对元素操作时间会增加,运行效率降低;

如果加载因子太小,那么表中的数据将过于稀疏(很多空间还没用,就开始扩容了),对空间造成严重浪费;

而且因为容量默认为2的次方,当加载因子为0.75时,容量和加载因子的乘积为整数。

所以系统默认加载因子取了0.5 -1 之间的0.75.

75 阅读 ← 返回技术栈
图片放大