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