ArrayList實現(xiàn)了List接口,是順序容器,即元素存放的數(shù)據(jù)與放進去的順序相同,允許放入null元素,底層通過數(shù)組實現(xiàn)。除該類未實現(xiàn)同步外,其余跟Vector大致相同。
每個ArrayList都有一個容量(capacity),表示底層數(shù)組的實際大小,容器內(nèi)存儲元素的個數(shù)不能多于當前容量。當向容器中添加元素時,如果容量不足,容器會自動增大底層數(shù)組的大小。
前面已經(jīng)提過,Java泛型只是編譯器提供的語法糖,所以這里的數(shù)組是一個Object數(shù)組,以便能夠容納任何類型的對象。