List接口扩展了Collection并声明存储一系列元素的类集的特性。使用一个基于零的下

标,元素可以通过它们在列表中的位置被插入和访问。一个列表可以包含复制元素。

除了由Collection定义的方法之外,List还定义了一些它自己的方法,这些方法总结在

表15-2中。再次注意当类集不能被修改时,其中的几种方法引发UnsupportedOperation

Exception异常。当一个对象与另一个不兼容,例如当企图将一个不兼容的对象加入一个类

集中时,将产生ClassCastException异常。

addAll(int, Collection)。这些方法在指定的下标处插入元素。由Collection定义的add(Object)

和addAll(Collection)的语义也被List改变了,以便它们在列表的尾部增加元素。

为了获得在指定位置存储的对象,可以用对象的下标调用get( )方法。为了给类表中的

一个元素赋值,可以调用set( )方法,指定被改变的对象的下标。调用indexOf( )或lastIndexOf( )

可以得到一个对象的下标。

通过调用subList( )方法,可以获得列表的一个指定了开始下标和结束下标的子列表。

正如你能想象到的,subList( )方法使得列表处理十分方便。

List接口



void add(int index, Object obj)

obj插入调用列表,插入位置的下标由index传递。任何已存在的,在插入点以及插入点之后的元素将前移。因此,没有元素被覆盖

boolean addAll(int index, Collection c)

c中的所有元素插入到调用列表中,插入点的下标由index传递。在插入点以及插入点之后的元素将前移。因此,没有元素被覆盖。如果调用列表改变了,则返回true;否则返回false

Object get(int index)

返回存储在调用类集内指定下标处的对象

int indexOf(Object obj)

返回调用列表中obj的第一个实例的下标。如果obj不是列表中的元素,则返回-1

int lastIndexOf(Object obj)

返回调用列表中obj的最后一个实例的下标。如果obj不是列表中的元素,则返回-1

ListIterator listIterator( )

返回调用列表开始的迭代程序

ListIterator listIterator(int index)

返回调用列表在指定下标处开始的迭代程序

Object remove(int index)

删除调用列表中index位置的元素并返回删除的元素。删除后,列表被压缩。也就是说,被删除元素后面的元素的下标减一

Object set(int index, Object obj)

obj对调用列表内由index指定的位置进行赋值

List subList(int start, int end)

返回一个列表,该列表包括了调用列表中从startend–1的元素。返回列表中的元素也被调用对象引用