Java 迭代器 Iterator ListIteator
- 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
- * */