第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Java: List, Set, Map等如何根據(jù)需求設(shè)置初始容量?

Java: List, Set, Map等如何根據(jù)需求設(shè)置初始容量?

不負(fù)相思意 2019-02-23 10:26:20
比如說需要存儲(chǔ)10個(gè), 200個(gè), 10000個(gè)List, Set, Map等如何設(shè)置初始容量?也就是譬如 List<Elem> list = new ArrayList<>(n); 這個(gè)n如何設(shè)置?是恰好就是10個(gè), 200個(gè), 10000個(gè)還是 n/load_factor ?
查看完整描述

3 回答

?
翻閱古今

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超5個(gè)贊

首先你得知道你的數(shù)據(jù)規(guī)模,比如:100,然后還得知道每個(gè)容器實(shí)現(xiàn)的擴(kuò)容方式,比如:HashMap初始默認(rèn)容量為16,擴(kuò)容因子為0.75,也就是說超過12個(gè)時(shí)就會(huì)擴(kuò)容,那么當(dāng)容量接近該值時(shí),就應(yīng)事先把容量定為32(翻倍,這個(gè)是HashMap的擴(kuò)容方法),所以當(dāng)容量為100,且后續(xù)可能不會(huì)再增長(zhǎng)的時(shí)候,可以把HashMap的初始容量設(shè)定為:100,實(shí)際上HashMap會(huì)找到一個(gè)比100大的最小2的整數(shù)指數(shù)冪(這里應(yīng)該是128),如果后續(xù)有擴(kuò)容的需求,則需要考慮進(jìn)來,因具體情況而定。

當(dāng)然,上述方法僅針對(duì)對(duì)性能要求很高的場(chǎng)景,絕大多數(shù)情況下,并無太大實(shí)際意義,僅供參考。

查看完整回答
反對(duì) 回復(fù) 2019-03-01
?
Smart貓小萌

TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個(gè)贊

可以根據(jù)n進(jìn)行判斷,來new對(duì)應(yīng)的ArrayList或者n作為參數(shù)傳遞進(jìn)來。

查看完整回答
反對(duì) 回復(fù) 2019-03-01
?
青春有我

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊

給出n+1就好了

查看完整回答
反對(duì) 回復(fù) 2019-03-01
  • 3 回答
  • 0 關(guān)注
  • 908 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)