欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

浅谈HashMap

程序员文章站 2022-07-05 21:30:09
浅谈HashMap各位1024快乐哈哈哈,有空看了一下HashMap的源码关于负载因子:负载因子,默认值是0.75在实例化HashMap的时候,会输入两个参数,一个是 int initCapacity(初始化数组大小,默认值是16),一个是float loadFactor(负载因子,默认值是0.75)当负载因子较大时,去给table数组扩容的可能性就会少,所以相对占用内存较少(空间上较少),但是每条entry链上的元素会相对较多,查询的时间也会增长(时间上较多)。反之就是,负载因子较...

浅谈HashMap

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

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

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

本文地址:https://blog.csdn.net/Eamon7/article/details/109269475

相关标签: HashMap map