集合-ListIterator类
来源:互联网 发布:软件调整窗口大小 编辑:程序博客网 时间:2024/06/04 19:08
jdk5
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。
set
void set(E o)
- 用指定元素替换 next 或 previous 返回的最后一个元素(可选操作)。只有在最后一次调用 next 或 previous 后既没有调用 ListIterator.remove 也没有调用 ListIterator.add 时才可以进行该调用。
- 参数:
o
- 用于替换 next 或 previous 返回的最后一个元素的元素。- 抛出:
UnsupportedOperationException
- 如果列表迭代器不支持 set 操作。ClassCastException
- 如果指定元素的类不允许该元素添加到此列表。IllegalArgumentException
- 如果指定元素的某个方面不允许该元素添加到此列表。IllegalStateException
- 如果既没有调用 next 也没有调用 previous,或者在最后一次调用 next 或 previous 后调用了 remove 或 add。
add
void add(E o)
- 将指定的元素插入列表(可选操作)。该元素直接插入到 next 返回的下一个元素的前面(如果有),或者 previous 返回的下一个元素之后(如果有);如果列表没有元素,那么新元素就成为列表中的惟一元素。新元素被插入到隐式光标前:不影响对 next 的后续调用,并且对 previous 的后续调用会返回此新元素(此调用把调用 nextIndex 或 previousIndex 所返回的值增加 1)。
- 参数:
o
- 要插入的元素。- 抛出:
UnsupportedOperationException
- 如果列表迭代器不支持 add 操作。ClassCastException
- 如果指定元素的类不允许该元素添加到此列表。IllegalArgumentException
- 如果此元素的某个方面不允许该元素添加到此列表。
- 集合-ListIterator类
- [JAVA] 集合类增删改,Iterator, ListIterator
- 集合框架(ListIterator)
- java 集合 ListIterator
- 集合框架--ListIterator接口
- 集合迭代器 listIterator()
- ListIterator listIterator():List集合特有的迭代器
- ListIterator类
- java集合之迭代器ListIterator
- List集合共性方法-ListIterator
- [疯狂Java]集合:List、ListIterator
- List集合特有迭代器ListIterator
- 集合2 Iterator迭代器 ListIterator
- 集合的ListIterator的用法
- Java 集合框架listIterator接口
- Java集合分析(2):ListIterator
- 08.集合框架(一)【集合概述】【接口Collection,Iterator,List,ListIterator】【类LinkedList,ArrayList】
- java中ListIterator类
- Software Architecture Design Patterns in Java
- Programming Data-Driven Web Applications with ASP.NET
- .Net E Commerce Programming
- SQL优化34条
- P2P在web上的应用
- 集合-ListIterator类
- Java陷阱一箩筐----面试题集及解答
- 专业
- Firefox - 附加组件 - 扩展 - Firebug - 更新 - 1.2.0b15
- 进程地址空间
- 少谈技术,走下去,多分析业务。
- 2008-08-24 19:32 纪念一下,CSDN又抽疯了。。。。。。
- 服务器经常被注入
- 位运算符