|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.util
接口 ListIterator<E>
- 所有超级接口:
- Iterator<E>
-
public interface ListIterator<E>
- extends Iterator<E>
系列表迭代器,允许程序员按任一方向遍历列表、迭代期间修改列表,并获得迭代器在列表中的当前位置。ListIterator 没有当前元素;它的光标位置 始终位于调用 previous() 所返回的元素和调用 next() 所返回的元素之间。在长度为 n 的列表中,有 n+1 个有效的索引值,从 0 到 n(包含)。
Element(0) Element(1) Element(2) ... Element(n) ^ ^ ^ ^ ^ Index: 0 1 2 3 n+1
注意,remove()
和 set(Object)
方法不是 根据光标位置定义的;它们是根据对调用 next()
或 previous()
所返回的最后一个元素的操作定义的。
此接口是 Java Collections Framework 的成员。
- 从以下版本开始:
- 1.2
- 另请参见:
-
Collection
,List
,Iterator
,Enumeration
方法摘要 | |
---|---|
void |
add(E o) 将指定的元素插入列表(可选操作)。 |
boolean |
hasNext() 以正向遍历列表时,如果列表迭代器有多个元素,则返回 true(换句话说,如果 next 返回一个元素而不是抛出异常,则返回 true)。 |
boolean |
hasPrevious() 如果以反向遍历列表,列表迭代器有多个元素,则返回 true。 |
E |
next() 返回列表中的下一个元素。 |
int |
nextIndex() 返回对 next 的后续调用所返回元素的索引。 |
E |
previous() 返回列表中的前一个元素。 |
int |
previousIndex() 返回对 previous 的后续调用所返回元素的索引。 |
void |
remove() 从列表中移除由 next 或 previous 返回的最后一个元素(可选操作)。 |
void |
set(E o) 用指定元素替换 next 或 previous 返回的最后一个元素(可选操作)。 |
方法详细信息 |
---|
hasNext
boolean hasNext()
- 以正向遍历列表时,如果列表迭代器有多个元素,则返回 true(换句话说,如果 next 返回一个元素而不是抛出异常,则返回 true)。
-
- 返回:
- 如果以正向遍历列表,列表迭代器有多个元素,则返回 true。
next
E next()
- 返回列表中的下一个元素。可以重复调用此方法来迭代此列表,或混合调用 previous 来前后移动(注意交替调用 next 和 previous 将重复返回相同的元素)。
-
- 返回:
- 列表中的下一个元素。
- 抛出:
-
NoSuchElementException
- 如果没有可迭代的下一个元素。
hasPrevious
boolean hasPrevious()
- 如果以反向遍历列表,列表迭代器有多个元素,则返回 true。(换句话说,如果 previous 返回一个元素而不是抛出异常,则返回 true)。
-
-
- 返回:
- 如果以反向遍历列表,列表迭代器有多个元素,则返回 true。
previous
E previous()
- 返回列表中的前一个元素。可以重复调用此方法来迭代列表,或混合调用 next 来前后移动(注意交替调用 next 和 previous 将重复返回相同的元素)。
-
-
- 返回:
- 列表中的上一个元素。
- 抛出:
-
NoSuchElementException
- 如果没有可迭代的上一个元素。
nextIndex
int nextIndex()
- 返回对 next 的后续调用所返回元素的索引。(如果列表迭代器在列表的结尾,则返回列表的大小)。
-
-
- 返回:
- 对 next 的后续调用所返回元素的索引,如果列表迭代器在列表的结尾,则返回列表大小。
previousIndex
int previousIndex()
- 返回对 previous 的后续调用所返回元素的索引。(如果列表迭代器在列表的开始,则返回 -1)。
-
-
- 返回:
- 对 previous 的后续调用所返回元素的索引,如果列表迭代器在列表的开始,则返回 -1。
remove
void remove()
- 从列表中移除由 next 或 previous 返回的最后一个元素(可选操作)。对于每个 next 或 previous 调用,只能执行一次此调用。只有在最后一次调用 next 或 previous 之后,尚未调用 ListIterator.add 时才可以执行该调用。
-
- 抛出:
-
UnsupportedOperationException
- 如果列表迭代器不支持 remove 操作。 -
IllegalStateException
- 既没有调用 next 也没有调用 previous,或者在最后一次调用 next 或 previous 后调用了 remove 或 add。