?? 數(shù)組和數(shù)組列表之間有著重大的區(qū)別。數(shù)組是Java語言的一個(gè)特征,對于每個(gè)元素類型T,都有數(shù)組類型T[];然而,ArrayList類是個(gè)定義java.util包中的類庫。這是一個(gè)存放object類型元素的"普通性"的類型。要注意的是,要從數(shù)組列表中提取元素時(shí),需要進(jìn)行類型轉(zhuǎn)換。
? 使用add方法可以向數(shù)組列表中添加新元素:
?? ArrayList staff = new ArrayList();
?? staff.add(new Employee(....));
?? staff.add(new Employee(....));
?? ArrayList類管理了一個(gè)Object引用的內(nèi)部數(shù)組。最終,可能會用完數(shù)組的空間。如果調(diào)用了add,而內(nèi)部數(shù)組已經(jīng)滿了,數(shù)組列表將自動創(chuàng)建了一個(gè)更大的數(shù)組,并自動把小數(shù)組中的對象拷貝到大數(shù)組中
? Size方法返回?cái)?shù)組列表的實(shí)際元素個(gè)數(shù)
??? staff.size()??? 它等價(jià)于數(shù)組a的a.length???
???訪問數(shù)組列表元素
因?yàn)?ArrayList類不是Java語言的一部分,它只是個(gè)提供在標(biāo)準(zhǔn)庫中、由某人編寫的工具類,并不像在訪問數(shù)組元素時(shí)可以使用[]語法那
樣,要存取或改變數(shù)組元素,你必須使用get和set方法
?? 要設(shè)置第i個(gè)元素,需要使用:
?? staff.set(i,harry);
得到數(shù)組列表元素要更復(fù)雜一些,因?yàn)間et方法返回的類型是Object,你還需要把它轉(zhuǎn)換為想要的類型
?? Employee e = (Employee)staff.get(i); 它等價(jià)于Employee e = a[i];
?? 最后總結(jié)一下:
?無需指定數(shù)組大小
用add增添任意多的元素;
用size()代替length計(jì)算元素的個(gè)數(shù);
用(Employee)a.get(i)代替a[i]訪問元素i;



































































