1. 程式人生 > >Iterator叠代器

Iterator叠代器

except println 取出 集合 static sys sta 停止 pre

Iterator叠代器,用於遍歷集合


什麽是叠代?

先判斷集合中有沒有元素,如果有就把元素取出來。這種取出方式,稱為叠代。


創建叠代器
Iterator<包裝類> it = 集合名.Iterator();

兩個方法
it.hasNext();//判斷有沒有元素

it.next();//獲取元素

完整格式


Iterator<包裝類> it = 集合名.Iterator();

while(it.hasNext()){
     包裝類型  變量名 = list.it.next();
     System.out.println(變量名)
}

叠代器的實現原理

當遍歷集合時,首先通過調用集合的 iterator()

方法獲得 叠代器對象,然後使用 hashNext() 方法判斷集合中是否存在下一個元素,如果存在,則調用 next() 方法將元素取出,否則說明已到達了集合末尾,停止遍歷元素。


示例一

package A

import java.util.ArrayList;
import java.util.Iterator;

public class Demo1{
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        Iterator<Integer> it = list.iterator();
        while(it.hasNext()){//判斷集合中有沒有元素
            Integer integer = it.next();//獲取元素
            System.out.println(integer);
        }
    }
}

示例二

package A;

import java.util.ArrayList;
import java.util.Iterator;

public class Demo2{
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("Tom");
        list.add("Jerry");
        Iterator<String> it = list.iterator();
        while ((it.hasNext())){
            String str = it.next();
            System.out.println(str);
        }
    }
}

tips::如果集合中已經沒有元素了,還繼續使用叠代器的next方法,將會發生 java.util.NoSuchElementException 沒有集合元素的錯誤。

Iterator叠代器