所有类


java.util
接口 ListIterator<E>

所有超级接口:
Iterator<E>

public interface ListIterator<E>
   
   
   
   
   
extends Iterator<E>

系列表迭代器,允许程序员按任一方向遍历列表、迭代期间修改列表,并获得迭代器在列表中的当前位置。ListIterator 没有当前元素;它的光标位置 始终位于调用 previous() 所返回的元素和调用 next() 所返回的元素之间。在长度为 n 的列表中,有 n+1 个有效的索引值,从 0n(包含)。

          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()
          从列表中移除由 nextprevious 返回的最后一个元素(可选操作)。
 void set(E o)
          用指定元素替换 nextprevious 返回的最后一个元素(可选操作)。
 

方法详细信息

hasNext

boolean hasNext()
以正向遍历列表时,如果列表迭代器有多个元素,则返回 true(换句话说,如果 next 返回一个元素而不是抛出异常,则返回 true)。

指定者:
接口 Iterator<E> 中的 hasNext
返回:
如果以正向遍历列表,列表迭代器有多个元素,则返回 true

next

E next()
返回列表中的下一个元素。可以重复调用此方法来迭代此列表,或混合调用 previous 来前后移动(注意交替调用 nextprevious 将重复返回相同的元素)。

指定者:
接口 Iterator<E> 中的 next
返回:
列表中的下一个元素。
抛出:
NoSuchElementException - 如果没有可迭代的下一个元素。

hasPrevious

boolean hasPrevious()
如果以反向遍历列表,列表迭代器有多个元素,则返回 true。(换句话说,如果 previous 返回一个元素而不是抛出异常,则返回 true)。

返回:
如果以反向遍历列表,列表迭代器有多个元素,则返回 true

previous

E previous()
返回列表中的前一个元素。可以重复调用此方法来迭代列表,或混合调用 next 来前后移动(注意交替调用 nextprevious 将重复返回相同的元素)。

返回:
列表中的上一个元素。
抛出:
NoSuchElementException - 如果没有可迭代的上一个元素。

nextIndex

int nextIndex()
返回对 next 的后续调用所返回元素的索引。(如果列表迭代器在列表的结尾,则返回列表的大小)。

返回:
next 的后续调用所返回元素的索引,如果列表迭代器在列表的结尾,则返回列表大小。

previousIndex

int previousIndex()
返回对 previous 的后续调用所返回元素的索引。(如果列表迭代器在列表的开始,则返回 -1)。

返回:
previous 的后续调用所返回元素的索引,如果列表迭代器在列表的开始,则返回 -1。

remove

void remove()
从列表中移除由 nextprevious 返回的最后一个元素(可选操作)。对于每个 nextprevious 调用,只能执行一次此调用。只有在最后一次调用 nextprevious 之后,尚未调用 ListIterator.add 时才可以执行该调用。

指定者:
接口 Iterator<E> 中的 remove
抛出:
UnsupportedOperationException - 如果列表迭代器不支持 remove 操作。
IllegalStateException - 既没有调用 next 也没有调用 previous,或者在最后一次调用 nextprevious 后调用了 removeadd

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部