欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中HashMap的初始容量設(shè)置方式

 更新時(shí)間:2021年06月19日 12:05:09   作者:割肉機(jī)  
這篇文章主要介紹了Java中HashMap的初始容量設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Java中HashMap的初始容量設(shè)置

根據(jù)阿里巴巴Java開發(fā)手冊(cè)上建議HashMap初始化時(shí)設(shè)置已知的大小,如果不超過(guò)16個(gè),那么設(shè)置成默認(rèn)大小16:

集合初始化時(shí), 指定集合初始值大小。

說(shuō)明:

HashMap使用HashMap(int initialCapacity)初始化

正例:

initialCapacity = (需要存儲(chǔ)的元素個(gè)數(shù) / 負(fù)載因子) + 1。注意負(fù)載因子(即loader factor)默認(rèn)為0.75, 如果暫時(shí)無(wú)法確定初始值大小,請(qǐng)?jiān)O(shè)置為16(即默認(rèn)值)。

反例:

HashMap需要放置1024個(gè)元素,由于沒有設(shè)置容量初始大小,隨著元素不斷增加,容量7次被迫擴(kuò)大,resize需要重建hash表,嚴(yán)重影響性能。

而對(duì)于為什么負(fù)載因子是0.75,答案可以在《數(shù)據(jù)結(jié)構(gòu)與算法分析 Java語(yǔ)言描述》的散列章節(jié)中找到

Java HashMap的指定初始值大小和自動(dòng)擴(kuò)容

HashMap指定初始值大小

指定初始值大小應(yīng)為2的冪。

如果指定的初始值不是2的冪,則HashMap的容量為大于指定初始值的2的冪;如果不指定,容量默認(rèn)為16。

HashMap自動(dòng)擴(kuò)容

當(dāng)HashMap的鍵值對(duì)個(gè)數(shù)大于容量的75%時(shí),HashMap的容量擴(kuò)大一倍。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java基礎(chǔ)知識(shí)之CharArrayReader流的使用

    Java基礎(chǔ)知識(shí)之CharArrayReader流的使用

    這篇文章主要介紹了Java基礎(chǔ)知識(shí)之CharArrayReader流的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 一次Spring無(wú)法啟動(dòng)的問(wèn)題排查實(shí)戰(zhàn)之字節(jié)碼篇

    一次Spring無(wú)法啟動(dòng)的問(wèn)題排查實(shí)戰(zhàn)之字節(jié)碼篇

    最近學(xué)習(xí)了spring相關(guān)知識(shí),公司項(xiàng)目也用到了spring,下面這篇文章主要給大家介紹了一次Spring無(wú)法啟動(dòng)的問(wèn)題排查實(shí)戰(zhàn)之字節(jié)碼篇的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • Spring File Storage文件的對(duì)象存儲(chǔ)框架基本使用小結(jié)

    Spring File Storage文件的對(duì)象存儲(chǔ)框架基本使用小結(jié)

    在開發(fā)過(guò)程當(dāng)中,會(huì)使用到存文檔、圖片、視頻、音頻等等,這些都會(huì)涉及存儲(chǔ)的問(wèn)題,文件可以直接存服務(wù)器,但需要考慮帶寬和存儲(chǔ)空間,另外一種方式就是使用云存儲(chǔ),這篇文章主要介紹了Spring File Storage文件的對(duì)象存儲(chǔ)框架基本使用小結(jié),需要的朋友可以參考下
    2024-08-08
  • Java接口RandomAccess全面了解

    Java接口RandomAccess全面了解

    下面小編就為大家?guī)?lái)一篇Java接口RandomAccess全面了解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-09-09
  • Spring?Data?JPA命名約定查詢實(shí)現(xiàn)方法

    Spring?Data?JPA命名約定查詢實(shí)現(xiàn)方法

    這篇文章主要為大家介紹了Spring?Data?JPA命名約定查詢實(shí)現(xiàn)方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • Spring Profiles使用方法詳解

    Spring Profiles使用方法詳解

    在你剛接觸SpringBoot的時(shí)候有沒有對(duì)它提供的Profile有些許不適應(yīng),經(jīng)過(guò)摸索后才領(lǐng)悟到它的強(qiáng)大。今天我就對(duì)Profile進(jìn)行一點(diǎn)歸納總結(jié),留作互聯(lián)網(wǎng)記憶
    2022-12-12
  • Java中為何要使用ArrayList

    Java中為何要使用ArrayList

    這篇文章主要介紹了Java中為何要使用ArrayList,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下
    2020-09-09
  • Java中獲取?List中最后一個(gè)元素3種方法以及實(shí)際應(yīng)用

    Java中獲取?List中最后一個(gè)元素3種方法以及實(shí)際應(yīng)用

    這篇文章主要給大家介紹了關(guān)于Java中獲取?List中最后一個(gè)元素3種方法以及實(shí)際應(yīng)用的相關(guān)資料,由于List的索引是從0開始的,所以最后一個(gè)元素的索引是List的大小減1,需要的朋友可以參考下
    2023-11-11
  • 解決springcloud集成nacos遇到的問(wèn)題

    解決springcloud集成nacos遇到的問(wèn)題

    這篇文章介紹了如何解決springcloud集成nacos遇到的問(wèn)題,文章中有詳細(xì)的代碼示例,需要的朋友可以參考一下
    2023-04-04
  • Java中四種遍歷List的方法總結(jié)(推薦)

    Java中四種遍歷List的方法總結(jié)(推薦)

    下面小編就為大家?guī)?lái)一篇Java中四種遍歷List的方法總結(jié)(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04

最新評(píng)論