Java中HashMap的初始容量設置方式
Java中HashMap的初始容量設置
根據(jù)阿里巴巴Java開發(fā)手冊上建議HashMap初始化時設置已知的大小,如果不超過16個,那么設置成默認大小16:
集合初始化時, 指定集合初始值大小。
說明:
HashMap使用HashMap(int initialCapacity)初始化
正例:
initialCapacity = (需要存儲的元素個數(shù) / 負載因子) + 1。注意負載因子(即loader factor)默認為0.75, 如果暫時無法確定初始值大小,請設置為16(即默認值)。
反例:
HashMap需要放置1024個元素,由于沒有設置容量初始大小,隨著元素不斷增加,容量7次被迫擴大,resize需要重建hash表,嚴重影響性能。
而對于為什么負載因子是0.75,答案可以在《數(shù)據(jù)結構與算法分析 Java語言描述》的散列章節(jié)中找到
Java HashMap的指定初始值大小和自動擴容
HashMap指定初始值大小
指定初始值大小應為2的冪。
如果指定的初始值不是2的冪,則HashMap的容量為大于指定初始值的2的冪;如果不指定,容量默認為16。
HashMap自動擴容
當HashMap的鍵值對個數(shù)大于容量的75%時,HashMap的容量擴大一倍。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
一次Spring無法啟動的問題排查實戰(zhàn)之字節(jié)碼篇
最近學習了spring相關知識,公司項目也用到了spring,下面這篇文章主要給大家介紹了一次Spring無法啟動的問題排查實戰(zhàn)之字節(jié)碼篇的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2022-04-04Spring File Storage文件的對象存儲框架基本使用小結
在開發(fā)過程當中,會使用到存文檔、圖片、視頻、音頻等等,這些都會涉及存儲的問題,文件可以直接存服務器,但需要考慮帶寬和存儲空間,另外一種方式就是使用云存儲,這篇文章主要介紹了Spring File Storage文件的對象存儲框架基本使用小結,需要的朋友可以參考下2024-08-08Spring?Data?JPA命名約定查詢實現(xiàn)方法
這篇文章主要為大家介紹了Spring?Data?JPA命名約定查詢實現(xiàn)方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-12-12