我們?cè)趯W(xué)習(xí)這一塊內(nèi)容時(shí)需要注意的一個(gè)問題是 集合中存放的依然是對(duì)象的引用而不是對(duì)象本身。

List接口擴(kuò)展了Collection并聲明存儲(chǔ)一系列元素的類集的特性。使用一個(gè)基于零的下標(biāo),元素可以通過它們?cè)诹斜碇械奈恢帽徊迦牒驮L問。一個(gè)列表可以包含重復(fù)元素。List在集合中是一個(gè)比較重要的知識(shí)點(diǎn)也是在開發(fā)中最常用的。

我們都知道ArrayList是由數(shù)組實(shí)現(xiàn)的,但是和數(shù)組有很大區(qū)別的是隨著向ArrayList中不斷添加元素,其容量也自動(dòng)增長(zhǎng),而數(shù)組聲明好之后其容量就不會(huì)改變。想要探明其中的究竟探析其中的原理十分重要,今天重新看了一下這塊的源代碼(JDK1.8.0_92)感覺很有收獲,所以在此記錄和分享。

1.Arraylist類中的屬性

萬碼學(xué)堂,電腦培訓(xùn),計(jì)算機(jī)培訓(xùn),Java培訓(xùn),JavaEE開發(fā)培訓(xùn),青島軟件培訓(xùn),軟件工程師培訓(xùn) 類屬性

在這里需要注意的有幾點(diǎn):

DEFAULT_CAPACITY 這個(gè)變量指的是ArrayList默認(rèn)的容量,其實(shí)剛剛初始化一個(gè)Arraylist其容量是0,當(dāng)添加一個(gè)之后容量就變成了10,在jdk1.6版本的時(shí)候還不是這么處理的。接下來會(huì)一一介紹。

elem