課程
/后端開發
/Java
/Map從入門到性能分析
怎么計算負載因子有沒有超過0.75的
2020-07-09
源自:Map從入門到性能分析 3-3
正在回答
創建hashmap對象時如果是無參創建,默認負載因子就是0.75。如果是有參的話,可以自定義大小及負載因子的配置。但是負載因子設置0.75為性能最優。如果要計算負載因子:存儲數據的長度/創建hashmap的長度。
你要問的是計算實際使用長度吧?
如果使用默認長度是16,負載因子默認是0.75.那個可使用長度實際上為16*0.75的長度為12.
如果超過長度12就會自動擴容為原長度的2倍為長度32,給之前賦的值再進行hash計算,重新定位。
舉報
拒絕HaspMap一條道走到黑,帶你選擇最合適的Map
1 回答紅黑樹怎么理解
1 回答使用putIfAbsent時value的數據類型不能為Integer的原因
1 回答為什么要寫new Integer(120),直接寫120可以嗎,有什么區別?
1 回答為什么百萬級、千萬級數據LinkedHashMap存數據慢
1 回答老師,你好!Map實體類做key,有什么需要注意的
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2020-07-28
創建hashmap對象時如果是無參創建,默認負載因子就是0.75。如果是有參的話,可以自定義大小及負載因子的配置。但是負載因子設置0.75為性能最優。如果要計算負載因子:存儲數據的長度/創建hashmap的長度。
你要問的是計算實際使用長度吧?
如果使用默認長度是16,負載因子默認是0.75.那個可使用長度實際上為16*0.75的長度為12.
如果超過長度12就會自動擴容為原長度的2倍為長度32,給之前賦的值再進行hash計算,重新定位。