ArrayList是基于數(shù)組實現(xiàn)的,是一個動態(tài)數(shù)組,其容量能自動增長。 ArrayList不是線程安全的,只能用在單線程環(huán)境下。 實現(xiàn)了Serializable接口,因此它支持序列化,能夠通過序列化傳輸; 實現(xiàn)了RandomAccess接口,支持快速隨機訪問,實際上就是通過下標(biāo)序號進行快速訪問; 實現(xiàn)了Cloneable接口,能被克隆。
動態(tài)擴容
一 初始化
首先有三種方式來初始化:
public ArrayList();
默認(rèn)的構(gòu)造器,將會以默認(rèn)的大小來初始化內(nèi)部的數(shù)組
public ArrayList(Collection<? extends E> c)
用一個ICollection對象來構(gòu)造,并將該集合的元素添加到ArrayList
public ArrayList(int initialCapacity)