ListIterator特有的方法

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

/*
迭代
    listIterator() 
    

ListIterator特有的方法:
    
    添加:
        hasPrevious()  判断是否存在上一个元素。
        previous()    当前指针先向上移动一个单位,然后再取出当前指针指向的元素。
        
        next();  先取出当前指针指向的元素,然后指针向下移动一个单位。
        
---------------------------    
    
        add(E e)   把当前有元素插入到当前指针指向的位置上。
        set(E e)   替换迭代器最后一次返回的元素。
        
    
*/
public class Demo3 {
    
    public static void main(String[] args) {
        List list = new ArrayList();
        list.add("狗娃");
        list.add("狗剩");
        list.add("铁蛋");
        list.add("美美");
        
        ListIterator it = list.listIterator(); //返回的是一个List接口中特有的迭代器
        /*System.out.println("有上一个元素吗?"+ it.hasPrevious());
        System.out.println("获取上一个元素:"+it.previous());
        it.next();
        System.out.println("获取上一个元素:"+ it.previous());
        
        
        while(it.hasNext()){
            it.next();
        }
        
        while(it.hasPrevious()){
            System.out.println("元素:"+ it.previous());
        }
        
        
        it.next();
        it.next();
        it.add("张三");
        */
        it.next();
        it.next();
        it.set("张三");
        
        
        System.out.println("集合的元素:"+ list);
        
        
    }

}

 

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

/*
 
 迭代器在变量元素的时候要注意事项: 在迭代器迭代元素 的过程中,不允许使用集合对象改变集合中的元素 个数,如果需要添加或者删除只能使用迭代器的方法进行操作。
 
 如果使用过了集合对象改变集合中元素个数那么就会出现ConcurrentModificationException异常。    
 
 迭代元素 的过程中: 迭代器创建到使用结束的时间。
 
 */

public class Demo5 {
    
    public static void main(String[] args) {
        List list = new ArrayList();
        list.add("张三");
        list.add("李四");
        list.add("王五");
        
        ListIterator it = list.listIterator();    //获取到迭代器
    /*    while(it.hasNext()){
            System.out.print(it.next()+",");
            //it.add("aa"); // 把元素添加到当前指针指向位置
            list.add("aa");  // add方法是把元素添加到集合的末尾处的。
//            list.remove("张三");
        }*/
        
        list.add("aa");
        it.next();
        
        
        
        System.out.println("\r\n集合的元素:"+ list);
    }

}

 

posted @ 2017-02-05 12:17  iFat  阅读(702)  评论(0编辑  收藏  举报