|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjava.util.AbstractCollection<E>
java.util.AbstractList<E>
java.util.AbstractSequentialList<E>
public abstract class AbstractSequentialList<E>
此类提供了 List 接口的骨干实现,从而最大限度地减少了实现受“连续访问”数据存储(如链接列表)支持的此接口所需的工作。对于随机访问数据(如数组),应该优先使用 AbstractList,而不是先使用此类。
从某种意义上说,此类与在列表的列表迭代器上实现“随机访问”方法(get(int index)、set(int index, E element)、add(int index, E element) 和 remove(int index))的 AbstractList 类相对立,而不是其他关系。
要实现一个列表,程序员只需要扩展此类,并提供 listIterator 和 size 方法的实现即可。对于不可修改的列表,程序员只需要实现列表迭代器的 hasNext、next、hasPrevious、previous 和 index 方法即可。
对于可修改的列表,程序员应该再另外实现列表迭代器的 set 方法。对于可变大小的列表,程序员应该再另外实现列表迭代器的 remove 和 add 方法。
按照 Collection 接口规范中的推荐,程序员通常应该提供一个 void(无参数)构造方法和 collection 构造方法。
此类是 Java Collections Framework 的成员。
Collection,
List,
AbstractList,
AbstractCollection| 字段摘要 |
|---|
| 从类 java.util.AbstractList 继承的字段 |
|---|
modCount |
| 构造方法摘要 | |
|---|---|
protected |
AbstractSequentialList()
单独的构造方法。 |
| 方法摘要 | |
|---|---|
void |
add(int index,
E element)
在此列表中的指定位置上插入指定的元素(可选操作)。 |
boolean |
addAll(int index,
Collection<? extends E> c)
在此列表中指定的位置上插入指定 collection 中的所有元素(可选操作)。 |
E |
get(int index)
返回此列表中指定位置上的元素。 |
Iterator<E> |
iterator()
返回在此列表中的元素上进行迭代的迭代器(按适当顺序)。 |
abstract ListIterator<E> |
listIterator(int index)
返回在此列表中的元素上进行迭代的列表迭代器(按适当顺序)。 |
E |
remove(int index)
移除此列表中指定位置上的元素(可选操作)。 |
E |
set(int index,
E element)
用指定的元素替代此列表中指定位置上的元素(可选操作)。 |
| 从类 java.util.AbstractList 继承的方法 |
|---|
add, clear, equals, hashCode, indexOf, lastIndexOf, listIterator, removeRange, subList |
| 从类 java.util.AbstractCollection 继承的方法 |
|---|
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, size, toArray, toArray, toString |
| 从类 java.lang.Object 继承的方法 |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| 从接口 java.util.List 继承的方法 |
|---|
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, size, toArray, toArray |
| 构造方法详细信息 |
|---|
protected AbstractSequentialList()
| 方法详细信息 |
|---|
public E get(int index)
此实现首先获得一个指向索引元素的列表迭代器(通过 listIterator(index) 方法)。然后它使用 ListIterator.next 获得该元素并返回它。
List<E> 中的 getAbstractList<E> 中的 getindex - 要返回的元素的索引
IndexOutOfBoundsException - 如果索引超出范围 (index < 0 || index >= size())
public E set(int index,
E element)
此实现首先获得一个指向索引元素的列表迭代器(通过 listIterator(index) 方法)。然后它使用 ListIterator.next 获得当前元素,并使用 ListIterator.set 替代它。
注意,如果该列表迭代器没有实现 set 操作,则此实现将抛出 UnsupportedOperationException。
List<E> 中的 setAbstractList<E> 中的 setindex - 要替换的元素的索引element - 要在指定位置存储的元素
UnsupportedOperationException - 如果列表不支持 set 操作
ClassCastException - 如果指定元素的类不允许它添加到此列表
NullPointerException - 如果指定的元素为 null,并且此列表不允许 null 元素
IllegalArgumentException - 如果指定元素的某些属性不允许它添加到此列表
IndexOutOfBoundsException - 如果索引超出范围 (index < 0 || index >= size())
public void add(int index,
E element)
此实现首先获得一个指向索引元素的列表迭代器(通过 listIterator(index))。然后它使用 ListIterator.add 插入指定的元素。
注意,如果列表迭代器没有实现 add 操作,则此实现将抛出 UnsupportedOperationException。
List<E> 中的 addAbstractList<E> 中的 addindex - 要在其中插入指定元素处的索引element - 要插入的元素
UnsupportedOperationException - 如果列表不支持 add 操作
ClassCastException - 如果指定元素的类不允许它添加到此列表
NullPointerException - 如果指定的元素为 null,并且此列表不允许 null 元素
IllegalArgumentException - 如果指定元素的某些属性不允许它添加到此列表
IndexOutOfBoundsException - 如果索引超出范围 (index < 0 || index > size())public E remove(int index)
此实现首先获得一个指向索引元素的列表迭代器(通过 listIterator(index) 方法)。然后它使用 ListIterator.remove 移除该元素。
注意,如果该列表迭代器没有实现 remove 操作,则此实现将抛出 UnsupportedOperationException。
List<E> 中的 removeAbstractList<E> 中的 removeindex - 要移除的元素的索引
UnsupportedOperationException - 如果列表不支持 remove 操作
IndexOutOfBoundsException - 如果索引超出范围 (index < 0 || index >= size())
public boolean addAll(int index,
Collection<? extends E> c)
此实现获得指定 collection 的迭代器,以及此列表指向索引元素的列表迭代器(通过 listIterator(index) 方法)。然后,它在指定的 collection 上进行迭代,通过使用 ListIterator.next 之后紧接着使用 ListIterator.add 方法(以跳过添加的元素),把从迭代器中获得的元素逐个插入此列表中。
注意,如果 listIterator 方法返回的列表迭代器没有实现 add 操作,则此实现将会抛出 UnsupportedOperationException。
List<E> 中的 addAllAbstractList<E> 中的 addAllindex - 将指定 collection 的第一个元素所插入位置的索引c - 包含要添加到此列表的元素的 collection
UnsupportedOperationException - 如果列表不支持 addAll 操作
ClassCastException - 如果指定 collection 中某个元素的类不允许它添加到此列表
NullPointerException - 如果指定的 collection 包含一个或多个 null 元素,并且该列表不允许 null 元素,或者指定的 collection 为 null
IllegalArgumentException - 如果指定 collection 的元素的某些属性不允许它添加到此列表
IndexOutOfBoundsException - 如果索引超出范围 (index < 0 || index > size())public Iterator<E> iterator()
此实现仅返回列表的一个列表迭代器。
Iterable<E> 中的 iteratorCollection<E> 中的 iteratorList<E> 中的 iteratorAbstractList<E> 中的 iteratorAbstractList.modCountpublic abstract ListIterator<E> listIterator(int index)
List<E> 中的 listIteratorAbstractList<E> 中的 listIteratorindex - 从列表迭代器返回(通过调用 next 方法)的第一个元素的索引
IndexOutOfBoundsException - 如果索引超出范围 (index < 0 || index > size())AbstractList.modCount
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。