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

【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.对于此接口中的增加及修改操作了解即可。

你可能感兴趣的:(【Java类集】_ListIterator接口笔记(实例亲测))