深入理解java的hashmap

hashmap關注個人開源項目

hashmap是實現map接口的實現類,是線程非安全的,所以效率大於hashtable

hashmap默認有4個構造方法

HashMap()
構造一個具有默認初始容量 (16) 和默認加載因子 (0.75) 的空 HashMap。
HashMap(int initialCapacity)
構造一個帶指定初始容量和默認加載因子 (0.75) 的空 HashMap。
HashMap(int initialCapacity, float loadFactor)
構造一個帶指定初始容量和加載因子的空 HashMap。
HashMap(Map

理解hashmap的桶數量和加載因子

  1. 默認桶數量是16個,加載因子 是0.75,所以當達到hashmap容量容積16*0.75=12時,hashmap則重新進行構造數據結構變爲32個桶
  2. 相對準確的估算數據量,將極大的影響HashMap的性能,因爲resize是一個重新分配的過程,耗時應該是裏面最大的。
  3. 加載因子越大,填滿的元素越多,空間利用率高了,則查找的成本越高.
  4. 加載因子越小,填滿的元素越少,好處是:衝突的機會減小了,但:空間浪費多了,但查找變快了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章