ArraryList,使用起来有点儿像数组,但在删除和添加元素时,具有自动调节数组容量的功能。
如果调用add且内部数组已经满了,数组列表就将自动地创建一个更大的数组,并将所有的对象从较小的数组中拷贝到较大的数组中。
如果已经清楚或者估计出数组可能存储的元素数量,就可在填充数组之前调用ensureCapacity方法。
list.ensureCapacity(100);
还可以把初始容量传递给ArrayList构造器:
ArraryList<Person> personList = new ArraryList<>(100);
一旦能够确定数组的size不再改变,可以调用trimToSize()。这个方法将存储区域的大小调整为当前元素所需要的存储空间数目。垃圾回收器将回收多余的存储空间。
capacity不同于size;
使用toArrary方法将数组元素拷贝到一个数组中:
X[] a = new X[list.size()] list.toArray(a);
读数组插入和删除操作时效率比较低。小型数组ok,否则就应该考虑使用链表。
java.util.ArrayList<< T >>
void set(int index,E obj)
设置数组列表指定位置的元素值,这个操作将覆盖这个位置的原有内容。