约定前面的数组结构的每一个格格称为桶
约定桶后面存放的每一个数据称为bin
bin这个术语来自于JDK 1.8的HashMap注释。
size表示HashMap中存放KV的数量(为链表和树中的KV的总和)。
capacitycapacity译为容量。capacity就是指HashMap中桶的数量。默认值为16。一般第一次扩容时会扩容到64,之后好像是2倍。总之,容量都是2的幂。
1
2
3
4
loadFactorloadFactor译为装载因子。装载因子用来衡量HashMap满的程度。loadFactor的默认值为0.75f。计算HashMap的实时装载因子的方法为:size/capacity,而不是占用桶的数量去除以capacity。
1
2
3
4
thresholdthreshold表示当HashMap的size大于threshold时会执行resize操作。
threshold=capacity*loadFactor
1
2
3
4
结束语这篇博文讨论了HashMap的一些基本概念,如capacity、loadFactor、threshold、size等,下篇博文 HashMap的扩容及树化过程 根据示例,讨论下扩容和树化的过程。
https://blog.csdn.net/fan2012huan/article/details/51087722