Iterator叠代器
阿新 • • 發佈:2018-11-22
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叠代器