Java 迭代器 Iterator ListIteator

来源:互联网 发布:sis实时数据库有哪些 编辑:程序博客网 时间:2024/06/05 10:20
 import java.util.*;class Animal{ String name; int age; }public class List { public static void main(String args[]) {  ArrayList list=new ArrayList();  list.add(1);  list.add(2);  list.add(3);  list.add(4);  list.add(5);  list.add(6);  /*   //直接 用Iterator 来遍历Arraylist //list.remove((Object)3);  for(Iterator it=list.iterator();it.hasNext();)  {   System.out.println(it.next());  }     * 直接 用 ListIterator来遍历ArrayList;   *   for(ListIterator  it=list.listIterator(); it.hasNext();)  {   System.out.println(it.next());  }  */  /*   * 下面用Iterator 来删除数据   *   for(Iterator it=list.iterator();it.hasNext();)  {   if(it.next()==((Object)4))   {    it.remove();   }  }  for(Iterator it2=list.iterator();it2.hasNext();)  {   System.out.println(it2.next());  }  下面用ListIterator 来添加元素    for(ListIterator it=list.listIterator();it.hasNext();)  {   if(it.next()==((Object)3))   {    it.add("three");       }  }  for(ListIterator it2=list.listIterator();it2.hasNext();)  {   System.out.println(it2.next());  }       for(ListIterator it=list.listIterator();it.hasNext();)     {      it.add("add");      it.next();     }     for(Iterator it2=list.iterator();it2.hasNext();)     {      System.out.println(it2.next());     }*/  //System.out.println(list.descendingIterator());          }}/* *     注意:对用抚今迭代器对容器进行操作时,在迭代的过程中,不能用容器的方法对容器进添加.修改.删除操作.这样 *     会引起并发操作异常,因为在迭代器迭代的过程中,不允许用迭代器以外的方法使元素改变,所以只能用迭代器里面的方法对容器进行修改,所以下面的操作会出现错误 *     for(Iterator it=list.iterator();it.hasNext();) *      { *       if(it.next().equals("abc")) *        list.add("def");  //这个就会出现 *      } *     下面用ListIterator 来添加元素 *        for(ListIterator it=list.listIterator();it.hasNext();) *           { *            if(it.add("google"))   //这样就可能添加了 *           } *      *  *  *  2011/10/27  7:57:39  * */


 

原创粉丝点击