public interface ListIterator<E> extends Iterator<E>
ListIterator没有电流元素;
其光标位置始终位于通过调用previous()返回的元素和通过调用next()返回的元素next() 。
长度为n的列表的迭代器具有n+1可能的光标位置,如下图所示的^ ( ^ )所示:
Element(0) Element(1) Element(2) ... Element(n-1)
cursor positions: ^ ^ ^ ^ ^
请注意, remove()和set(Object)方法未按光标位置进行定义;
它们被定义为对调用next()或previous()返回的最后一个元素进行操作。
此接口是成员Java Collections Framework 。
Collection , List , Iterator , Enumeration , List.listIterator()
| Modifier and Type | Method and Description |
|---|---|
void |
add(E e)
将指定的元素插入列表(可选操作)。
|
boolean |
hasNext()
返回
true如果遍历正向列表,列表迭代器有多个元素。
|
boolean |
hasPrevious()
返回
true如果遍历反向列表,列表迭代器有多个元素。
|
E |
next()
返回列表中的下一个元素,并且前进光标位置。
|
int |
nextIndex()
返回随后调用
next()返回的元素的索引。
|
E |
previous()
返回列表中的上一个元素,并向后移动光标位置。
|
int |
previousIndex()
返回由后续调用
previous()返回的元素的索引。
|
void |
remove()
从列表中删除由
next()或
previous()返回的最后一个元素(可选操作)。
|
void |
set(E e)
|
forEachRemainingboolean hasNext()
true如果遍历正向列表,列表迭代器有多个元素。
(换句话说,返回true如果next()将返回一个元素而不是抛出异常。)
E next()
next在接口
Iterator<E>
NoSuchElementException - 如果迭代没有下一个元素
boolean hasPrevious()
true如果遍历反向列表,列表迭代器有多个元素。
(换句话说,如果previous()将返回一个元素而不是抛出异常,则返回true )。
true如果列表迭代器在相反方向遍历列表时具有更多的元素
E previous()
NoSuchElementException - 如果迭代没有以前的元素
int nextIndex()
next() 。
(如果列表迭代器位于列表的末尾,则返回列表大小。)
next ,如果列表迭代器位于列表的末尾,
next列表大小
int previousIndex()
previous()返回的元素的索引。
(如果列表迭代器位于列表的开头,则返回-1)
previous ,如果列表迭代器位于列表的
previous ,则为-1
void remove()
next()或previous()返回的最后一个元素(可选操作)。
这个电话只能拨打next或previous 。
只有在最后一次致电next或previous之后尚未调用add(E) ,才可以做出。
remove在界面
Iterator<E>
UnsupportedOperationException -如果
remove操作不受此列表迭代器支持
IllegalStateException - 如果
next和
previous都没有被调用,或者
remove或
add在上次调用
next调用了
next或
previous
void set(E e)
next()返回的最后一个元素或previous() 。
此调用可制成只有既不remove()也不add(E)一直到最后一次通话后称为next或previous 。
e - 用于替换由
next或
previous返回的最后一个元素的元素
UnsupportedOperationException -如果
set操作不受此列表迭代器支持
ClassCastException - 如果指定元素的类阻止将其添加到此列表中
IllegalArgumentException - 如果指定元素的某些方面阻止将其添加到此列表中
IllegalStateException - 如果
next和
previous都没有被调用,或者
remove或
add在上次调用
next调用了
next或
previous
void add(E e)
next() ,如果有的话,那会被返回的元素之后previous() ,如果有的话。
(如果列表不包含元素,则新元素将成为列表中的唯一元素。)新元素插入隐式游标之前:后续调用next将不受影响,后续调用previous将返回新元素。
(此呼叫将增加一个呼叫将返回的值为nextIndex或previousIndex )。
e - 要插入的元素
UnsupportedOperationException - 如果此列表迭代器不支持
add方法
ClassCastException - 如果指定元素的类阻止将其添加到此列表中
IllegalArgumentException - 如果此元素的某些方面阻止将其添加到此列表
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.