理解 HashMap 加載因子 loadFactor

1、何爲加載因子?

加載因子是表示Hsah表中元素的填滿的程度.若:加載因子越大,填滿的元素越多,好處是,空間利用率高了,但:衝突的機會加大了.反之,加載因子越小,填滿的元素越少,好處是:衝突的機會減少了,但:空間浪費多了. 數據結構


衝突的機會越大,則查找的成本越高.反之,查找的成本越小.於是,查找時間就越小.

所以,必須在 "衝突的機會"與"空間利用率"之間尋找一種平衡與折衷. 這種平衡與折衷本質上是數據結構中有名的"時-空"矛盾的平衡與折衷. spa

2、HashMap中的加載因子

HashMap默認的加載因子是0.75,最大容量是16,所以能夠得出HashMap的默認容量是:0.75*16=12。 ci

用戶能夠自定義最大容量和加載因子。 it

HashMap 包含以下幾個構造器: float

  • HashMap():構建一個初始容量爲 16,負載因子爲 0.75 的 HashMap。 數據

  • HashMap(int initialCapacity):構建一個初始容量爲 initialCapacity,負載因子爲 0.75 的 HashMap。 時間

  • HashMap(int initialCapacity, float loadFactor):以指定初始容量、指定的負載因子建立一個 HashMap。 co

相關文章
相關標籤/搜索