当前位置:K88软件开发文章中心编程语言JavaJava01 → 文章内容

java中ListIterator使用方法

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-4 7:53:30

-->

public interface ListIterator<E>
extends Iterator<E>

在使用 java 集合的时候,都需要使用 Iterator。但是 java 集合中还有一个迭代器 ListIterator ,在使用 List、ArrayList、LinkedList 和 Vector 的时候可以使用。
Iterator 和 ListIterator 主要区别有:
一、ListIterator 有 add() 方法,可以向 List 中添加对象,而Iterator不能。
二、ListIterator 和 Iterator 都有 hasNext() 和 next() 方法,可以实现顺序向后遍历。但是 ListIterator 有hasPrevious() 和 previous() 方法,可以实现逆向(顺序向前)遍历。Iterator 就不可以。
三、ListIterator 可以定位当前的索引位置,nextIndex() 和 previousIndex() 可以实现。Iterator 没有此功能。
四、都可实现删除对象,但是 ListIterator 可以实现对象的修改,set()方法可以实现。Iterator仅能遍历,不能修改。因为 ListIterator 的这些功能,可以实现对 LinkedList 等 List 数据结构的操作。
五、使用范围不同,Iterator 可以应用于所有的集合,Set、List 和 Map 和这些集合的子类型。而 ListIterator 只能用于 List 及其子类型。

[t]ListIterator方法摘要[/t]
void add(E e)
将指定的元素插入列表(可选操作)。
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 e)
用指定元素替换 next 或 previous 返回的最后一个元素(可选操作)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package cn.k88;
import java.util.*;
public class Example1 {

public static void main(String[] args) {
//@author Coder.bng
List <String>list=new LinkedList<String>();
list.add("Coder.bing");
list.add("wangzheng");
list.add("bingfeng");
list.add("k88");
ListIterator <String>iter=list.listIterator();
iter.next();
iter.remove(); //remove Coder.bing

for(String s:list)
System.out.println(s+" ");
iter.add("小学生");

iter=list.listIterator();
while(iter.hasNext()){
System.out.println(iter.next());
}

}
}

java中ListIterator使用方法