ListIterator接口,双向输出。

1,ListIterator接口与Itreator接口的区别。

2,使用限制。

定义如下:

public interface ListIterator<E>extends Iterator<E>

常用方法:

虽然此接口可以实现双向输出,但是collection接口并没有为此类定义实例化的操作。

只要List接口中才存在ListIterator接口的实例化操作

 

范例:完成双向输出:

package 类集;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class test1{
    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.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 + "、") ;
        }
    }
};

输出结果;

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

但是,这个一定要注意一个事情:

一定要先由前到后,之后才能进行有后到前操作。反过来就不行!这点要注意

 

使用ListIterator接口还可以进行增加和替换操作。

add();

set();

package 类集;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class test1{
    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.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 + "、") ;
        }
    }
};

输出结果:

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

 

总结:

如果要想使用ListIterator接口,必须通过List接口完成。

2,如果要想进行双向输出,只能先进先由前到后,再由后到前

 

posted @ 2016-12-26 22:53  美好的明天  阅读(384)  评论(0编辑  收藏  举报