ArrayList 類
JDK5.0以后這是一個(gè)泛型類。
ArrayList>Employee< staff = new ArrayList>Employee<();
構(gòu)造器:
ArrayList(Collection>? extends E< c)
ArrayList()
ArrayList(int initialCapacity)
方法:
boolean add(E e)
void add(int index, E element)
int size() 相當(dāng)于數(shù)組中的length
remove(int index)
remove(Object o)
ArrayList管理了一個(gè)對(duì)象數(shù)組,如果數(shù)組已滿,此時(shí)再加入元素,ArrayList會(huì)自動(dòng)創(chuàng)建一個(gè)更大的數(shù)組,并把原來(lái)數(shù)組的內(nèi)容復(fù)制到新數(shù)組中。
如果提前知道要加入多少元素,可以使用ensureCapasity(int)方法。也可以在創(chuàng)建ArrayList時(shí)使用ArrayList>Employee< staff = new ArrayList>Employee<(int)。
如果要使ArrayList定容,使用trimToSize()方法
注意ArrayList和c++的vector的不同,后者賦值時(shí)是按值操作的。
訪問(wèn)ArrayList的元素:
設(shè)置元素:set(int index, E element) (和數(shù)組一樣,index從0開(kāi)始編號(hào))
注意不要在ArrayList的已初始化容量小于i時(shí)進(jìn)行set操作。
如
ArrayList>Employee< list = new ArrayList>Employee<(100); // capacity 100, size 0
list.set(0, x); // no element 0 yet
是錯(cuò)誤的
獲取元素:get(int index)
JDK5新支持的for each循環(huán):
for (Element e : ArrayList) {//...}
一個(gè)技巧:
先創(chuàng)建ArrayList并安全地添加元素
ArrayList>X< list = new ArrayList>X<();
while (. . .)
{
x = . . .;
list.add(x);
}
將ArrayList轉(zhuǎn)換為數(shù)組,從而方便地讀取
X[] a = new X[list.size()];
list.toArray(a);