泛型数组列表

 

java.util.ArrayList<T>

ArrayList<>()  构造一个空数组列表

ArrayList<T>(int initialCapacity)  用指定容量构造一个空数组列表

boolean add(T obj)  在数组列表的尾端添加一个元素

int size() 返回存储在数组列表中的当前元素数量。(这个值小于或等于数组列表的容量)

void ensureCapacity(int capacity)  确保数组列表在不重新分配存储空间的情况下就能够保存给定数量的元素。

void trimToSize()  将数组列表的存储容量消减到当前尺寸

 

使用set()和get()方法实现访问或改变数组元素的操作,而不使用[]

例如,要设置第i个元素,可以使用:

staff.set(i, harry);

等价于对数组a的元素赋值(数组的下标从0开始):

a[i] = harry;

注意:

只有i小于或等于数组列表的大小时,才能够调用list.set(i,x)。例如,下面这段代码是错误的:

ArrayList<Employee> list = new ArrayList<>(100); //capacity 100,size 0

list.set(0,x); // no element 0 yet

使用add方法为数组添加新元素,而不要使用set方法, 它只能替换数组中已经存在的元素内容。

Employee e = staff.get(i);

等价于:

Employee e = a[i];

---------------------------------------------------


下面这个既可以灵活扩展数组(对小型数组),又可以方便地访问数组元素。

首先,创建一个数组,并添加所有的元素

ArrayList<X> list = new ArrayList<>();

while(...)

{

  x = ...;

  list.add(x);

}

执行完之后,使用toArray方法将数组元素拷贝到另一个数组中

X[] a = new [list.size()];

list.toArray(x);

 

posted @ 2015-11-17 11:04  微风星宇  阅读(299)  评论(0编辑  收藏  举报