關(guān)于ArryList初始化后容量的問題
在API中可以看到這樣一句:ArrayList()是構(gòu)造一個(gè)初始容量為?10?的空列表。我知道調(diào)用size方法是查詢相應(yīng)的元素的數(shù)量,但對(duì)于視頻中數(shù)組下標(biāo)越界這一點(diǎn)還有點(diǎn)疑惑。
如果調(diào)用add方法插入元素時(shí),list的長度也為元素的數(shù)量,那么ArrayList()方法初始化出來的容量為10的空列表有什么用?
2015-01-26
ArrayList的底層是由一個(gè)Object[]數(shù)組構(gòu)成的,?
而這個(gè)Object[]數(shù)組,默認(rèn)的長度是10?
所以有的文章會(huì)說ArrayList長度容量為10。?
然而你所指的size()方法,只的是“邏輯”長度。?
所謂“邏輯”長度,是指內(nèi)存已存在的“實(shí)際元素的長度”?
而“空元素不被計(jì)算”?
即:當(dāng)你利用add()方法,向ArrayList內(nèi)添加一個(gè)“元素”時(shí),?
邏輯長度就增加1位。 而剩下的9個(gè)空元素不被計(jì)算。