Arraylist 是基于数组列表实现的,因此它具有数组的一些特性。比如可以自动扩展容量,在创建时可以设定大小,但与数组有所不同下面这段代码就说明了这个问题
Arraylist array = new ArrayList(100);
int [] array2 = new int[100];
system.out.println("array.size():"+ array.size());
system.out.println("array2.length:"+ array.length);
输出结果
array.size():0
array2.length:100
数组列表自动扩容的便利增加了访问元素语法的复杂性,必须使用get,set方法访问修改元素但使用以下代码可以巧妙的解决这个问题
while(){
x=...;
list.add(x);
}
A[]
a=new A[list.size()];
list.toArray(a);