List:是一個有序的集合,可以包含重複的元素。提供了按索引訪問的方式。它繼承Collection。List有兩個重要的實現類:ArrayList和LinkedListArrayList:我們可以將其看作是能夠自動增長容量的陣列。利用ArrayList的toArray()返回一個數組。Arrays.asList()返回一個列表。1.ArrayList底層採用陣列實現,當使用不帶引數的構造方法生成ArrayList物件時,實際上會在底層生成一個長度為10的Object型別陣列2.如果增加的元素個數超過了10個,那麼ArrayList底層會新生成一個數組,長度為原陣列的1.5倍+1,然後將原陣列的內容複製到新陣列當中,並且後續增加的內容都會放到新陣列當中。當新陣列無法容納增加的元素時,重複該過程。3.對於ArrayList元素的刪除操作,需要將被刪除元素的後續元素向前移動,代價比較高。4.集合當中只能放置物件的引用,無法放置原生資料型別,我們需要使用原生資料型別的包裝類才能加入到集合當中。5.集合當中放置的都是Object型別,因此取出來的也是Object型別,那麼必須要使用強制型別轉換將其轉換為真正的型別(放置進去的型別)
List:是一個有序的集合,可以包含重複的元素。提供了按索引訪問的方式。它繼承Collection。List有兩個重要的實現類:ArrayList和LinkedListArrayList:我們可以將其看作是能夠自動增長容量的陣列。利用ArrayList的toArray()返回一個數組。Arrays.asList()返回一個列表。1.ArrayList底層採用陣列實現,當使用不帶引數的構造方法生成ArrayList物件時,實際上會在底層生成一個長度為10的Object型別陣列2.如果增加的元素個數超過了10個,那麼ArrayList底層會新生成一個數組,長度為原陣列的1.5倍+1,然後將原陣列的內容複製到新陣列當中,並且後續增加的內容都會放到新陣列當中。當新陣列無法容納增加的元素時,重複該過程。3.對於ArrayList元素的刪除操作,需要將被刪除元素的後續元素向前移動,代價比較高。4.集合當中只能放置物件的引用,無法放置原生資料型別,我們需要使用原生資料型別的包裝類才能加入到集合當中。5.集合當中放置的都是Object型別,因此取出來的也是Object型別,那麼必須要使用強制型別轉換將其轉換為真正的型別(放置進去的型別)