|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.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>
中的 get
AbstractList<E>
中的 get
index
- 要返回的元素的索引
IndexOutOfBoundsException
- 如果索引超出範圍 (index < 0 || index >= size())public E set(int index, E element)
此實作首先獲得一個指向索引元素的列表迭代器(通過 listIterator(index) 方法)。然後它使用 ListIterator.next 獲得當前元素,並使用 ListIterator.set 替代它。
注意,如果該列表迭代器沒有實作 set 操作,則此實作將拋出 UnsupportedOperationException。
List<E>
中的 set
AbstractList<E>
中的 set
index
- 要替換的元素的索引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>
中的 add
AbstractList<E>
中的 add
index
- 要在其中插入指定元素處的索引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>
中的 remove
AbstractList<E>
中的 remove
index
- 要移除的元素的索引
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>
中的 addAll
AbstractList<E>
中的 addAll
index
- 將指定 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>
中的 iterator
Collection<E>
中的 iterator
List<E>
中的 iterator
AbstractList<E>
中的 iterator
AbstractList.modCount
public abstract ListIterator<E> listIterator(int index)
List<E>
中的 listIterator
AbstractList<E>
中的 listIterator
index
- 從列表迭代器返回(通過調用 next
方法)的第一個元素的索引
IndexOutOfBoundsException
- 如果索引超出範圍 (index < 0 || index > size())AbstractList.modCount
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。