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