1. 程式人生 > >JDK8原始碼閱讀筆記--------java.util.ArrayList

JDK8原始碼閱讀筆記--------java.util.ArrayList

官方文件:

該類實現list介面,屬於collections,是一個動態陣列,可以存放任何元素包括null,初始容量為10,新增元素時候容量可以自動增長。該類不是同步的,也就是說不是執行緒安全的。如果多個執行緒同時方位一個例項,並且其中一個修改了列表,那麼必須在外在同步。我們可以包裝列表如:

List list = Collections.synchronizedList(new ArrayList(...));

1.public ArrayList(int initialCapacity):構建一個空集合指定容量

public ArrayList():構建一個空集合,預設容量為10。

2.public ArrayList(Collection<? extends E> c)

3.實現List介面的方法size()、add(e)等

 

1.LinkedList插入比ArrayList慢,但是查詢快;

2如果該ArrayList的長度巨大,並且不確定,只用於容器臨時使用,建議使用LinkedList進行接收引數,然後再轉化為ArrayList,如:

LinkedList list = new LinkedList();

//some operations

ArrayList listArr = new ArrayList(list);

3.他兩都是非同步的。