ArrayList原始碼解析

2021-09-26 07:41:37 字數 824 閱讀 1505

arraylist內部的結構採用的是陣列。

transient object elementdata; // non-private to simplify nested class access
當我們使用預設建構函式的時候,**如下:

private static final object defaultcapacity_empty_elementdata = {};

public arraylist()

add 新增乙個元素的時候

public boolean add(e e)
get 獲取乙個元素

public e get(int index)
arraylist內部資料儲存的實現是通過陣列。

總結:1)arraylist可以存放null。

2)arraylist本質上就是乙個elementdata陣列。

3)arraylist區別於陣列的地方在於能夠自動擴充套件大小,其中關鍵的方法就是gorw()方法。

4)arraylist中removeall(collection c)和clear()的區別就是removeall可以刪除批量指定的元素,而clear是全是刪除集合中的元素。

5)arraylist由於本質是陣列,所以它在資料的查詢方面會很快,而在插入刪除這些方面,效能下降很多,有移動很多資料才能達到應有的效果

6)arraylist實現了randomaccess,所以在遍歷它的時候推薦使用for迴圈。

ArrayList原始碼解析

new arraylist public arraylist public arraylist int initialcapacity else if initialcapacity 0 else private static final object defaultcapacity empty e...

ArrayList 原始碼解析

從日常 看arraylist的執行流程 第一步 我們初始化乙個 arraylist 然後新增乙個元素,如下 public class arraylisttest arraylist的建構函式和方法有三個,乙個是帶有初始大小的arraylist,乙個傳入collection,另外乙個空參。我們呼叫空參...

ArrayList 原始碼解析

一,arraylist是什麼?可以用來幹什麼?arraylist就是陣列列表,主要用來裝載資料,當我們裝載的是基本型別的資料int,long,boolean,short,byte 的時候我們只能儲存他們對應的包裝類,它的主要底層實現是陣列object elementdata。與它類似的是linked...