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í)際意義,僅供參考。

TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個(gè)贊
可以根據(jù)n進(jìn)行判斷,來new對(duì)應(yīng)的ArrayList或者n作為參數(shù)傳遞進(jìn)來。
添加回答
舉報(bào)