W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
java.lang.Object
|---java.util.AbstractCollection<E&
|---|---java.util.AbstractList<E&
|---|---|---java.util.AbstractSequentialList<E&
public abstract class AbstractSequentialList<E>
extends AbstractList<E>
此類提供 List 接口的骨架實現(xiàn),以最大限度地減少實現(xiàn)此接口所需的工作,該接口由“順序訪問”數(shù)據(jù)存儲(例如鏈表)支持。對于隨機訪問數(shù)據(jù)(如數(shù)組),應(yīng)優(yōu)先使用 AbstractList 而非此類。
此類與 AbstractList 類相反,因為它實現(xiàn)了“隨機訪問”方法(get(int index)、set(int index, E element)、add(int index, E element) 和 remove(int index )) 在列表的列表迭代器之上,而不是相反。
要實現(xiàn)一個列表,程序員只需要擴展這個類并提供 listIterator 和 size 方法的實現(xiàn)。對于不可修改的列表,程序員只需要實現(xiàn)列表迭代器的hasNext、next、hasPrevious、previous和index方法即可。
對于可修改的列表,程序員應(yīng)該另外實現(xiàn)列表迭代器的 set 方法。對于可變大小的列表,程序員應(yīng)該另外實現(xiàn)列表迭代器的刪除和添加方法。
根據(jù) Collection 接口規(guī)范中的建議,程序員通常應(yīng)該提供一個 void(無參數(shù))和集合構(gòu)造函數(shù)。
此類是 Java 集合框架的成員。
從類 java.util.AbstractList 繼承的字段 |
---|
modCount |
修飾符 | 構(gòu)造函數(shù) | 描述 |
---|---|---|
protected | AbstractSequentialList() | 唯一的構(gòu)造函數(shù)。 |
修飾符和類型 | 方法 | 描述 |
---|---|---|
void | add(int index, E element) | 在此列表中的指定位置插入指定元素(可選操作)。 |
boolean | addAll(int index, Collection<? extends E> c) | 將指定集合中的所有元素插入到此列表中的指定位置(可選操作)。 |
E | get(int index) | 返回此列表中指定位置的元素。 |
IteratorE | iterator() | 返回此列表中元素的迭代器(以正確的順序)。 |
abstract ListIteratorE | listIterator(int index) | 返回此列表中元素的列表迭代器(以正確的順序)。 |
E | remove(int index) | 移除此列表中指定位置的元素(可選操作)。 |
E | set(int index, E element) | 將此列表中指定位置的元素替換為指定元素(可選操作)。 |
從類 java.util.AbstractCollection 繼承的方法 |
---|
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, size, toArray, toArray, toString |
從類 java.util.AbstractList 繼承的方法 |
---|
add, clear, equals, hashCode, indexOf, lastIndexOf, listIterator, removeRange, subList |
從接口 java.util.Collection 繼承的方法 |
---|
parallelStream, removeIf, stream |
從接口 java.lang.Iterable 繼承的方法 |
---|
forEach |
從接口 java.util.List 繼承的方法 |
---|
addAll, contains, containsAll, isEmpty, remove, removeAll, replaceAll, retainAll, size, sort, spliterator, toArray, toArray |
從類 java.lang.Object 繼承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
protected AbstractSequentialList()
唯一的構(gòu)造函數(shù)。 (用于子類構(gòu)造函數(shù)的調(diào)用,通常是隱式的。)
public E get(int index)
返回此列表中指定位置的元素。
此實現(xiàn)首先獲取一個指向索引元素的列表迭代器(使用 listIterator(index))。 然后,它使用 ListIterator.next 獲取元素并返回它。
指定者:
進入接口 ListE
指定者:
進入類 AbstractListE
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
index | 要返回的元素的索引 |
返回:
此列表中指定位置的元素
Throws:
Throw名稱 | Throw描述 |
---|---|
IndexOutOfBoundsException | 如果索引超出范圍 (index < 0 || index >= size()) |
public E set(int index, E element)
將此列表中指定位置的元素替換為指定元素(可選操作)。
此實現(xiàn)首先獲取一個指向索引元素的列表迭代器(使用 listIterator(index))。 然后,它使用 ListIterator.next 獲取當前元素并將其替換為 ListIterator.set。
請注意,如果列表迭代器未實現(xiàn) set 操作,此實現(xiàn)將拋出 UnsupportedOperationException。
指定者:
在接口 ListE 中設(shè)置
覆蓋:
在類 AbstractListE 中設(shè)置
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
index | 要替換的元素的索引 |
element | 要存儲在指定位置的元素 |
返回:
先前在指定位置的元素
Throws:
Throw名稱 | Throw描述 |
---|---|
UnsupportedOperationException | 如果此列表不支持設(shè)置操作 |
ClassCastException | 如果指定元素的類阻止它被添加到這個列表中 |
NullPointerException | 如果指定元素為空且此列表不允許空元素 |
IllegalArgumentException | 如果指定元素的某些屬性阻止它被添加到此列表中 |
IndexOutOfBoundsException | 如果索引超出范圍 (index < 0 || index >= size()) |
public void add(int index, E element)
在此列表中的指定位置插入指定元素(可選操作)。 將當前位于該位置的元素(如果有)和任何后續(xù)元素向右移動(將其索引加一)。
此實現(xiàn)首先獲取一個指向索引元素的列表迭代器(使用 listIterator(index))。 然后,它使用 ListIterator.add 插入指定的元素。
請注意,如果列表迭代器未實現(xiàn)添加操作,此實現(xiàn)將拋出 UnsupportedOperationException。
指定者:
添加接口ListE
覆蓋:
添加類 AbstractListE
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
index | 要插入指定元素的索引 |
element | 要插入的元素 |
Throws:
Throw名稱 | Throw描述 |
---|---|
UnsupportedOperationException | 如果此列表不支持添加操作 |
ClassCastException | 如果指定元素的類阻止它被添加到這個列表中 |
NullPointerException | 如果指定元素為空且此列表不允許空元素 |
IllegalArgumentException | 如果指定元素的某些屬性阻止它被添加到此列表中 |
IndexOutOfBoundsException | 如果索引超出范圍 (index < 0 || index > size()) |
public E remove(int index)
移除此列表中指定位置的元素(可選操作)。 將任何后續(xù)元素向左移動(從它們的索引中減去 1)。 返回從列表中刪除的元素。
此實現(xiàn)首先獲取一個指向索引元素的列表迭代器(使用 listIterator(index))。 然后,它使用 ListIterator.remove 刪除元素。
請注意,如果列表迭代器未實現(xiàn)刪除操作,此實現(xiàn)將拋出 UnsupportedOperationException。
指定者:
在接口 ListE 中刪除
覆蓋:
在類 AbstractListE 中刪除
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
index | 要刪除的元素的索引 |
返回:
先前在指定位置的元素
Throws:
Throw名稱 | Throw描述 |
---|---|
UnsupportedOperationException | 如果此列表不支持刪除操作 |
IndexOutOfBoundsException | 如果索引超出范圍 (index < 0 || index >= size()) |
public boolean addAll(int index, Collection<? extends E> c)
將指定集合中的所有元素插入到此列表中的指定位置(可選操作)。將當前位于該位置的元素(如果有)和任何后續(xù)元素向右移動(增加它們的索引)。新元素將按照指定集合的迭代器返回的順序出現(xiàn)在此列表中。如果在操作正在進行時修改了指定的集合,則此操作的行為是未定義的。 (請注意,如果指定的集合是這個列表,并且它是非空的,則會發(fā)生這種情況。)
此實現(xiàn)獲取指定集合的迭代器和指向索引元素的列表迭代器(使用 listIterator(index))。然后,它迭代指定的集合,將從迭代器獲得的元素插入到這個列表中,一次一個,使用 ListIterator.add 后跟 ListIterator.next(跳過添加的元素)。
請注意,如果 listIterator 方法返回的列表迭代器未實現(xiàn)添加操作,則此實現(xiàn)將拋出 UnsupportedOperationException。
指定者:
接口 ListE 中的 addAll
覆蓋:
類 AbstractListE 中的 addAll
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
index | 插入指定集合中第一個元素的索引 |
c | 包含要添加到此列表的元素的集合 |
返回:
如果此列表因調(diào)用而更改,則為 true
Throws:
Throw名稱 | Throw描述 |
---|---|
UnsupportedOperationException | 如果此列表不支持 addAll 操作 |
ClassCastException | 如果指定集合的元素的類阻止它被添加到此列表中 |
NullPointerException | 如果指定的集合包含一個或多個空元素并且此列表不允許空元素,或者指定的集合為空 |
IllegalArgumentException | 如果指定集合的某個元素的某些屬性阻止它被添加到此列表中 |
IndexOutOfBoundsException | 如果索引超出范圍 (index < 0 || index > size()) |
public IteratorE iterator()
返回此列表中元素的迭代器(以正確的順序)。
此實現(xiàn)僅返回列表上的列表迭代器。
指定者:
接口 CollectionE 中的迭代器
指定者:
接口 IterableE 中的迭代器
指定者:
接口 ListE 中的迭代器
覆蓋:
AbstractListE 類中的迭代器
返回:
此列表中元素的迭代器(按正確順序)
public abstract ListIteratorE listIterator(int index)
返回此列表中元素的列表迭代器(以正確的順序)。
指定者:
接口 ListE 中的 listIterator
覆蓋:
AbstractListE 類中的 listIterator
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
index | 要從列表迭代器返回的第一個元素的索引(通過調(diào)用 next 方法) |
返回:
此列表中元素的列表迭代器(按正確順序)
Throws:
Throw名稱 | Throw描述 |
---|---|
IndexOutOfBoundsException | 如果索引超出范圍 (index < 0 || index > size()) |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: