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的桶數量和加載因子
- 默認桶數量是16個,加載因子 是0.75,所以當達到hashmap容量容積16*0.75=12時,hashmap則重新進行構造數據結構變爲32個桶
- 相對準確的估算數據量,將極大的影響HashMap的性能,因爲resize是一個重新分配的過程,耗時應該是裏面最大的。
- 加載因子越大,填滿的元素越多,空間利用率高了,則查找的成本越高.
- 加載因子越小,填滿的元素越少,好處是:衝突的機會減小了,但:空間浪費多了,但查找變快了