【Java类集】_ListIterator接口笔记
本章目标:
掌握ListIterator与Iterator接口的关系及区别
掌握ListIterator接口的使用限制
3、具体内容
ListIterator接口
Iterator接口的主要功能是由前向后单向输出,而此时如果想实现由后向前或者是由前向后的双向输出,则就必须使用Iterator的子接口————ListIterator。
LisIterator接口定义如下:
public interface ListIterator<E> extends Iterator<E>
虽然此接口可以进行双向的输出,但是遗憾的是Collection接口中并没有定义可以为此类实例化的操作,只有List 接口中才存在了ListIterator接口的实例化操作
范例:完成双向输出
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListIteratorDemo01{
public static void main(String[] args){
List<String> all = new ArrayList<String>();
all.add("hello");
all.add("_");
all.add("world!!!");
ListIterator<String> iter = all.listIterator();
System.out.println("由前向后输出");
while(iter.hasNext()){
String str = iter.next();
System.out.print(str+"、");
}
System.out.println("\n由后向前输出");
while(iter.hasPrevious()){
String str = iter.previous();
System.out.print(str+"、");
}
}
}
输出:
由前向后输出
hello、_、world!!!、
由后向前输出
world!!!、_、hello、
此时,已经完成了双向的输出操作。
但是,在使用此操作的时候一定要注意一点:一定要先进行由前向后输出,之后才能进行由后向前的输出。
使用ListIterator还可以进行增加及替换元素
add()
set()
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListIteratorDemo01{
public static void main(String[] args){
List<String> all = new ArrayList<String>();
all.add("hello");
all.add("_");
all.add("world!!!");
ListIterator<String> iter = all.listIterator();
System.out.println("由前向后输出");
while(iter.hasNext()){
String str = iter.next();
System.out.print(str+"、");
iter.set("LI-"+str);
}
System.out.println("\n由后向前输出");
iter.add("LXH");
while(iter.hasPrevious()){
String str = iter.previous();
System.out.print(str+"、");
}
}
}
输出:
由前向后输出
hello、_、world!!!、
由后向前输出
LXH、LI-world!!!、LI-_、LI-hello、
总结:
1.如果要想使用ListIteral只能依靠List接口完成。
2.如果要进行由后向前的输出,则只能先进行由前向后的输出。
3.对于此接口中的增加及修改操作了解即可。