W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
public interface ListIterator<E>
extends Iterator<E>
列表的迭代器,允許程序員在任一方向遍歷列表,在迭代期間修改列表,并獲取迭代器在列表中的當(dāng)前位置。 ListIterator 沒有當(dāng)前元素; 它的光標(biāo)位置始終位于調(diào)用 previous() 將返回的元素與調(diào)用 next() 將返回的元素之間。 長度為 n 的列表的迭代器有 n+1 個可能的光標(biāo)位置,如下面的插入符號 (^) 所示:
Element(0) Element(1) Element(2) ... Element(n-1)
cursor positions: ^ ^ ^ ^ ^
請注意,remove() 和 set(java.lang.Object) 方法不是根據(jù)光標(biāo)位置定義的; 它們被定義為對調(diào)用 next() 或 previous() 返回的最后一個元素進(jìn)行操作。
此接口是 Java 集合框架的成員。
修飾符和類型 | 方法 | 描述 |
---|---|---|
void | add(E e) | 將指定元素插入列表(可選操作)。 |
boolean | hasNext() | 如果此列表迭代器在向前遍歷列表時具有更多元素,則返回 true。 |
boolean | hasPrevious() | 如果此列表迭代器在反向遍歷列表時具有更多元素,則返回 true。 |
E | next() | 返回列表中的下一個元素并前進(jìn)光標(biāo)位置。 |
int | nextIndex() | 返回將由后續(xù)調(diào)用 next() 返回的元素的索引。 |
E | previous() | 返回列表中的前一個元素并將光標(biāo)位置向后移動。 |
int | previousIndex() | 返回將由后續(xù)調(diào)用 previous() 返回的元素的索引。 |
void | remove() | 從列表中刪除 next() 或 previous() 返回的最后一個元素(可選操作)。 |
void | set(E e) | 將 next() 或 previous() 返回的最后一個元素替換為指定元素(可選操作)。 |
從接口 java.util.Iterator 繼承的方法 |
---|
forEachRemaining |
boolean hasNext()
如果此列表迭代器在向前遍歷列表時具有更多元素,則返回 true。 (換句話說,如果 next() 將返回一個元素而不是拋出異常,則返回 true。)
指定者:
接口 IteratorE 中的 hasNext
返回:
如果在向前遍歷列表時列表迭代器有更多元素,則為 true
E next()
返回列表中的下一個元素并前進(jìn)光標(biāo)位置。 可以重復(fù)調(diào)用此方法以遍歷列表,或與調(diào)用 previous() 混合以來回移動。 (請注意,交替調(diào)用 next 和 previous 將重復(fù)返回相同的元素。)
指定者:
接口 IteratorE 中的下一個
返回:
列表中的下一個元素
Throws:
Throw名稱 | Throw描述 |
---|---|
NoSuchElementException | 如果迭代沒有下一個元素 |
boolean hasPrevious()
如果此列表迭代器在反向遍歷列表時具有更多元素,則返回 true。 (換句話說,如果 previous() 將返回一個元素而不是拋出異常,則返回 true。)
返回:
如果在反向遍歷列表時列表迭代器有更多元素,則返回 true
E previous()
返回列表中的前一個元素并將光標(biāo)位置向后移動。 可以重復(fù)調(diào)用此方法以向后迭代列表,或與調(diào)用 next() 混合以來回遍歷。 (請注意,交替調(diào)用 next 和 previous 將重復(fù)返回相同的元素。)
返回:
列表中的前一個元素
Throws:
Throw名稱 | Throw描述 |
---|---|
NoSuchElementException | 如果迭代沒有前一個元素 |
int nextIndex()
返回將由后續(xù)調(diào)用 next() 返回的元素的索引。 (如果列表迭代器位于列表末尾,則返回列表大小。)
返回:
后續(xù)調(diào)用 next 將返回的元素的索引,如果列表迭代器位于列表末尾,則為列表大小
int previousIndex()
返回將由后續(xù)調(diào)用 previous() 返回的元素的索引。 (如果列表迭代器位于列表的開頭,則返回 -1。)
返回:
后續(xù)調(diào)用 previous 時將返回的元素的索引,如果列表迭代器位于列表的開頭,則返回 -1
void remove()
從列表中刪除 next() 或 previous() 返回的最后一個元素(可選操作)。 每次調(diào)用下一個或上一個時,此調(diào)用只能進(jìn)行一次。 只有在最后一次調(diào)用 next 或 previous 之后沒有調(diào)用 add(E) 時,才能執(zhí)行此操作。
指定者:
在接口 IteratorE 中刪除
Throws:
Throw名稱 | Throw描述 |
---|---|
UnsupportedOperationException | 如果此列表迭代器不支持刪除操作 |
IllegalStateException | 如果 next 和 previous 都沒有被調(diào)用,或者在最后一次調(diào)用 next 或 previous 之后沒有調(diào)用 remove 或 add |
void set(E e)
將 next() 或 previous() 返回的最后一個元素替換為指定元素(可選操作)。 只有在最后一次調(diào)用 next 或 previous 之后既沒有調(diào)用 remove() 也沒有調(diào)用 add(E) 時,才能進(jìn)行此調(diào)用。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
e | 用于替換 next 或 previous 返回的最后一個元素的元素 |
Throws:
Throw名稱 | Throw描述 |
---|---|
UnsupportedOperationException | 如果此列表迭代器不支持 set 操作 |
ClassCastException | 如果指定元素的類阻止它被添加到這個列表中 |
IllegalArgumentException | 如果指定元素的某些方面阻止它被添加到此列表中 |
IllegalStateException | 如果 next 和 previous 都沒有被調(diào)用,或者在最后一次調(diào)用 next 或 previous 之后沒有調(diào)用 remove 或 add |
void add(E e)
將指定元素插入列表(可選操作)。 該元素被插入到 next() 將返回的元素(如果有)之前,以及在 previous() 將返回的元素(如果有)之后。 (如果列表不包含任何元素,則新元素將成為列表中的唯一元素。)新元素插入到隱式光標(biāo)之前:對 next 的后續(xù)調(diào)用將不受影響,對 previous 的后續(xù)調(diào)用將返回新元素 . (此調(diào)用將調(diào)用 nextIndex 或 previousIndex 返回的值加一。)
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
e | 要插入的元素 |
Throws:
Throw名稱 | Throw描述 |
---|---|
UnsupportedOperationException | 如果此列表迭代器不支持 add 方法 |
ClassCastException | 如果指定元素的類阻止它被添加到這個列表中 |
IllegalArgumentException | 如果此元素的某些方面阻止它被添加到此列表中 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: