負載因子的大小決定了HashMap的數據密度。
負載因子越大數據密度越大,發生碰撞的機率越高,數組中的鏈表越容易長,造成查詢或插入時的比較次數增多,性能會下降。
負載因子越小數據密度越小,發生碰撞的機率越小,數組中的鏈表也就越短,查詢和插入時比較的次數也越小,性能會更高,就越容易觸發擴容,會浪費一定的內存空間。經常擴容也會影響性能,建議初始化預設大一點的空間。
將負載因子設置爲0.7~0.75,此時平均檢索長度接近於常數。
HASHmap很好的文章
面試官: HashMap內部節點是有序的嗎?
安琪拉: 是無序的,根據hash值隨機插入
面試官: 那有沒有有序的Map?
安琪拉: LinkedHashMap 和 TreeMap