我們在學習這一塊內(nèi)容時需要注意的一個問題是 集合中存放的依然是對象的引用而不是對象本身。
List接口擴展了Collection并聲明存儲一系列元素的類集的特性。使用一個基于零的下標,元素可以通過它們在列表中的位置被插入和訪問。一個列表可以包含重復元素。List在集合中是一個比較重要的知識點也是在開發(fā)中最常用的。
我們都知道ArrayList是由數(shù)組實現(xiàn)的,但是和數(shù)組有很大區(qū)別的是隨著向ArrayList中不斷添加元素,其容量也自動增長,而數(shù)組聲明好之后其容量就不會改變。想要探明其中的究竟探析其中的原理十分重要,今天重新看了一下這塊的源代碼(JDK1.8.0_92)感覺很有收獲,所以在此記錄和分享。
1.Arraylist類中的屬性
類屬性
在這里需要注意的有幾點:
DEFAULT_CAPACITY 這個變量指的是ArrayList默認的容量,其實剛剛初始化一個Arraylist其容量是0,當添加一個之后容量就變成了10,在jdk1.6版本的時候還不是這么處理的。接下來會一一介紹。
elem