Java 迭代器 Iterator ListIteator


Java 迭代器 Iterator ListIteator

  1.  import java.util.*;  
  2. class Animal  
  3. {  
  4.  String name;  
  5.  int age;  
  6.    
  7. }  
  8. public class List {  
  9.  public static void main(String args[])  
  10.  {  
  11.   ArrayList list=new ArrayList();  
  12.   list.add(1);  
  13.   list.add(2);  
  14.   list.add(3);  
  15.   list.add(4);  
  16.   list.add(5);  
  17.   list.add(6);  
  18.   /*   //直接 用Iterator 来遍历Arraylist 
  19.  //list.remove((Object)3); 
  20.   for(Iterator it=list.iterator();it.hasNext();) 
  21.   { 
  22.    System.out.println(it.next()); 
  23.   } 
  24.    
  25.    * 直接 用 ListIterator来遍历ArrayList; 
  26.    *  
  27.   for(ListIterator  it=list.listIterator(); it.hasNext();) 
  28.   { 
  29.    System.out.println(it.next()); 
  30.   } 
  31.   */  
  32.   /* 
  33.    * 下面用Iterator 来删除数据 
  34.    *  
  35.   for(Iterator it=list.iterator();it.hasNext();) 
  36.   { 
  37.    if(it.next()==((Object)4)) 
  38.    { 
  39.     it.remove(); 
  40.    } 
  41.   } 
  42.   for(Iterator it2=list.iterator();it2.hasNext();) 
  43.   { 
  44.    System.out.println(it2.next()); 
  45.   } 
  46.   下面用ListIterator 来添加元素 
  47.    
  48.   for(ListIterator it=list.listIterator();it.hasNext();) 
  49.   { 
  50.    if(it.next()==((Object)3)) 
  51.    { 
  52.     it.add("three"); 
  53.      
  54.    } 
  55.   } 
  56.   for(ListIterator it2=list.listIterator();it2.hasNext();) 
  57.   { 
  58.    System.out.println(it2.next()); 
  59.   } 
  60.    
  61.      for(ListIterator it=list.listIterator();it.hasNext();) 
  62.      { 
  63.       it.add("add"); 
  64.       it.next(); 
  65.      } 
  66.      for(Iterator it2=list.iterator();it2.hasNext();) 
  67.      { 
  68.       System.out.println(it2.next()); 
  69.      }*/  
  70.   //System.out.println(list.descendingIterator());   
  71.        
  72.     
  73.     
  74.  }  
  75. }  
  76. /* 
  77.  *     注意:对用抚今迭代器对容器进行操作时,在迭代的过程中,不能用容器的方法对容器进添加.修改.删除操作.这样 
  78.  *     会引起并发操作异常,因为在迭代器迭代的过程中,不允许用迭代器以外的方法使元素改变,所以只能用迭代器里面的方法对容器进行修改,所以下面的操作会出现错误 
  79.  *     for(Iterator it=list.iterator();it.hasNext();) 
  80.  *      { 
  81.  *       if(it.next().equals("abc")) 
  82.  *        list.add("def");  //这个就会出现 
  83.  *      } 
  84.  *     下面用ListIterator 来添加元素 
  85.  *        for(ListIterator it=list.listIterator();it.hasNext();) 
  86.  *           { 
  87.  *            if(it.add("google"))   //这样就可能添加了 
  88.  *           } 
  89.  *      
  90.  *  
  91.  *  
  92.  *                                              2011/10/27  7:57:39  
  93.  * */  

相关内容