From 5412af1c2983948e0dcff7fbd618c7143193c299 Mon Sep 17 00:00:00 2001 From: hubo <389528688@qq.com> Date: Wed, 20 Feb 2019 09:30:10 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E4=B8=80=20loadFactor=20=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E4=B8=BA=E5=8A=A0=E8=BD=BD=E5=9B=A0=E5=AD=90,=20?= =?UTF-8?q?=E4=B8=BAresize=E4=B8=AD=E7=9A=84=E6=B3=A8=E9=87=8A=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0//?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Java相关/HashMap.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Java相关/HashMap.md b/Java相关/HashMap.md index ffeec101..0354a956 100644 --- a/Java相关/HashMap.md +++ b/Java相关/HashMap.md @@ -90,13 +90,13 @@ public class HashMap extends AbstractMap implements Map, Cloneabl transient int modCount; // 临界值 当实际大小(容量*填充因子)超过临界值时,会进行扩容 int threshold; - // 填充因子 + // 加载因子 final float loadFactor; } ``` - **loadFactor加载因子** - loadFactor加载因子是控制数组存放数据的疏密程度,loadFactor越趋近于1,那么 数组中存放的数据(entry)也就越多,也就越密,也就是会让链表的长度增加,load Factor越小,也就是趋近于0, + loadFactor加载因子是控制数组存放数据的疏密程度,loadFactor越趋近于1,那么 数组中存放的数据(entry)也就越多,也就越密,也就是会让链表的长度增加,loadFactor越小,也就是趋近于0,数组中存放的数据(entry)也就越少,也就越稀疏。 **loadFactor太大导致查找元素效率低,太小导致数组的利用率低,存放的数据会很分散。loadFactor的默认值为0.75f是官方给出的一个比较好的临界值**。 @@ -401,7 +401,7 @@ final Node[] resize() { else if (oldThr > 0) // initial capacity was placed in threshold newCap = oldThr; else { - signifies using defaults + // signifies using defaults newCap = DEFAULT_INITIAL_CAPACITY; newThr = (int)(DEFAULT_LOAD_FACTOR * DEFAULT_INITIAL_CAPACITY); }