负载因子解释
- 负载因子是和扩容机制有关的,意思是如果当前容器的容量,达到了我们设定的最大值,就要开始执行扩容操作。
- 举个例子来解释:比如说当前的容器容量是16,负载因子是0.75,16*0.75=12,也就是说,当容量达到了12的时候就会进行扩容操作。
- 他的作用很简单,相当于是一个扩容机制的阈值。当超过了这个阈值,就会触发扩容机制。
负载因子大小选择及作用
HashMap源码已经为我们默认指定了负载因子是0.75。
负载因子的作用
- 负载因子的大小决定了HashMap的数据密度。
- 负载因子越大密度越大,发生碰撞的几率越高,数组中的链表越容易长,造成查询或插入时比较次数增多,性能会下降。
- 负载因子越小,就越容易触发扩容,数据密度也越小,意味着发生碰撞的几率越小,数组中链表也就越短,查询和插入时比较的次数也越小,性能会更高。但是会浪费一定的内存空间,而且经常扩容也会影响性能。