【Java类集】_ListIterator接口笔记(实例亲测)

来源:互联网 发布:linux所有版本 编辑:程序博客网 时间:2024/06/11 00:58

【Java类集】_ListIterator接口笔记(实例亲测)

分类: Java
【Java类集】_ListIterator接口笔记

本章目标:
掌握ListIterator与Iterator接口的关系及区别
掌握ListIterator接口的使用限制

3、具体内容

ListIterator接口
Iterator接口的主要功能是由前向后单向输出,而此时如果想实现由后向前或者是由前向后的双向输出,则就必须使用Iterator的子接口————ListIterator。

LisIterator接口定义如下:
public interface ListIterator<E> extends Iterator<E>
虽然此接口可以进行双向的输出,但是遗憾的是Collection接口中并没有定义可以为此类实例化的操作,只有List 接口中才存在了ListIterator接口的实例化操作

范例:完成双向输出

[java] view plaincopyprint?
  1. import java.util.ArrayList;  
  2. import java.util.List;  
  3. import java.util.ListIterator;  
  4. public class ListIteratorDemo01{  
  5.     public static void main(String[] args){  
  6.         List<String> all = new ArrayList<String>();  
  7.         all.add("hello");  
  8.         all.add("_");  
  9.         all.add("world!!!");  
  10.         ListIterator<String> iter = all.listIterator();  
  11.         System.out.println("由前向后输出");  
  12.         while(iter.hasNext()){  
  13.             String str = iter.next();  
  14.             System.out.print(str+"、");  
  15.         }      
  16.         System.out.println("\n由后向前输出");  
  17.         while(iter.hasPrevious()){  
  18.             String str = iter.previous();  
  19.             System.out.print(str+"、");  
  20.         }      
  21.     }  
  22.   
  23. }  



输出:
由前向后输出
hello、_、world!!!、
由后向前输出
world!!!、_、hello、


此时,已经完成了双向的输出操作。
但是,在使用此操作的时候一定要注意一点:一定要先进行由前向后输出,之后才能进行由后向前的输出。
使用ListIterator还可以进行增加及替换元素
add()
set()

[java] view plaincopyprint?
  1. import java.util.ArrayList;  
  2. import java.util.List;  
  3. import java.util.ListIterator;  
  4. public class ListIteratorDemo01{  
  5.     public static void main(String[] args){  
  6.         List<String> all = new ArrayList<String>();  
  7.         all.add("hello");  
  8.         all.add("_");  
  9.         all.add("world!!!");  
  10.         ListIterator<String> iter = all.listIterator();  
  11.         System.out.println("由前向后输出");  
  12.         while(iter.hasNext()){  
  13.             String str = iter.next();  
  14.             System.out.print(str+"、");  
  15.             iter.set("LI-"+str);  
  16.         }      
  17.         System.out.println("\n由后向前输出");  
  18.         iter.add("LXH");  
  19.         while(iter.hasPrevious()){  
  20.             String str = iter.previous();  
  21.             System.out.print(str+"、");  
  22.         }      
  23.     }  
  24.   
  25. }  


输出:

由前向后输出
hello、_、world!!!、
由后向前输出
LXH、LI-world!!!、LI-_、LI-hello、

总结:
1.如果要想使用ListIteral只能依靠List接口完成。
2.如果要进行由后向前的输出,则只能先进行由前向后的输出。
3.对于此接口中的增加及修改操作了解即可。
0 0
原创粉丝点击