4 回答

TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個(gè)贊
因?yàn)锳rrayList是動(dòng)態(tài)調(diào)整大小的數(shù)組數(shù)據(jù)結(jié)構(gòu),所以它被實(shí)現(xiàn)為具有初始(默認(rèn))固定大小的數(shù)組。填充完畢后,該數(shù)組將擴(kuò)展為兩倍大小的數(shù)組。此操作成本高昂,因此您需要盡可能少的操作。
因此,如果您知道上限為20個(gè)項(xiàng)目,則創(chuàng)建初始長(zhǎng)度為20的數(shù)組比使用默認(rèn)值(例如15)然后將其調(diào)整大小為15*2 = 30僅使用20(同時(shí)浪費(fèi)擴(kuò)展周期)更好。
PS-正如AmitG所說(shuō),擴(kuò)展因子是特定于實(shí)現(xiàn)的(在這種情況下(oldCapacity * 3)/2 + 1)

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊
因?yàn)锳rrayList是動(dòng)態(tài)調(diào)整大小的數(shù)組數(shù)據(jù)結(jié)構(gòu),所以它被實(shí)現(xiàn)為具有初始(默認(rèn))固定大小的數(shù)組。填充完畢后,該數(shù)組將擴(kuò)展為兩倍大小的數(shù)組。此操作成本高昂,因此您需要盡可能少的操作。
因此,如果您知道上限為20個(gè)項(xiàng)目,則創(chuàng)建初始長(zhǎng)度為20的數(shù)組比使用默認(rèn)值(例如15)然后將其調(diào)整大小為15*2 = 30僅使用20(同時(shí)浪費(fèi)擴(kuò)展周期)更好。
PS-正如AmitG所說(shuō),擴(kuò)展因子是特定于實(shí)現(xiàn)的(在這種情況下(oldCapacity * 3)/2 + 1)
添加回答
舉報(bào)