ArrayList类实现了List接口,List接口是Collection接口的子接口,主要增加了根据索引取得对象的方法。
ArrayList使用数组实现List接口,所以对于快速随即取得对象来说,可以得到很好的效能。不过在删除对象或插入对象时 ,特别是在ArrayList前端插入或删除对象时,其内部数组中的后边对象要依次挪位,代价比较大。就比较慢 (使用LinkedList在这个方面比较好)。
数组和数组列表之间有着很大的区别。数组是Java语言的一个特征,对于每个元素类型T,都有数组类型T[];然而,ArrayList类是个定义 java.util包中的类库,这是一个存放object类型元素的"普通性"的类型。注意,要从数组列表中提取元素时,需要进行类型转换。
add()方法可以向数组列表中添加新元素:
List list=new ArrayList();
list.add(new Element(......));
list.add(new Element(......));
ArrayList类管理了一个Object引用的内部数组,而且可能会用完数组的空间。如果调用了add,而内部数组已经满了,数组列表将自动创建了一个更大的数组,并自动把小数组中的对象拷贝到大数组中。
set()方法可以设置数组列表中的元素值:
list.set(i,new Element(......));
get()方法可以得到数组列表的元素,返回的类型是object。
Element e=(Element)list.get(i);
size()方法可以得到当前ArrayList的长度。
list.size();