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