1、掌握ListIterator 与 Iterator 接口的关系及区别
2、掌握ListIterator 接口的使用限制
虽然此接口可以进行双向输出,但是遗憾的是 Collection 接口中并没有定义可以为此类实例化的操作,只有List 接口中才存在了ListIterator 接口的实例化操作。
范例:完成双向输出
import java.util.ArrayList ;
import java.util.List ;
import java.util.ListIterator ;
public class ListIteratorDemo01{
public static void main(String argsp[]){
List<String> all = new ArrayList<String>() ;
all.add("hello") ;
all.add("_") ;
all.add("world") ;
ListIterator<String> iter = all.listIterator() ;
System.out.print("由前向后输出:") ;
while(iter.hasNext()){
String str = iter.next() ;
System.out.print(str + "、") ;
}
System.out.print("\n由后向前输出:") ;
while(iter.hasPrevious()){
String str = iter.previous() ;
System.out.print(str + "、") ;
}
}
};
此时,已经完成了双向的输出操作。
但是,在使用此操作的时候一定要注意一点:一定要先进行由前向后输出,之后才能进行由后向前的输出。
使用ListIterator 还可以进行增加及替换元素
add()
set()
import java.util.ArrayList ;
import java.util.List ;
import java.util.ListIterator ;
public class ListIteratorDemo02{
public static void main(String argsp[]){
List<String> all = new ArrayList<String>() ;
all.add("hello") ;
all.add("_") ;
all.add("world") ;
ListIterator<String> iter = all.listIterator() ;
System.out.print("由前向后输出:") ;
while(iter.hasNext()){
String str = iter.next() ;
System.out.print(str + "、") ;
iter.set("LI - " + str) ; // 修改内容
}
System.out.print("\n由后向前输出:") ;
iter.add("LXH");
while(iter.hasPrevious()){
String str = iter.previous() ;
System.out.print(str + "、") ;
}
}
};
总结:
1、如果要想使用ListIterator 则只能依靠List 接口完成
2、如果要进行由后向前的输出,则只能先进行由前向后的输出
3、对于此接口中的增加及修改操作了解即可