迭代器(Iterator)
迭代器是一種設(shè)計模式,它是一個對象,它可以遍歷并選擇序列中的對象溪食,而開發(fā)人員不需要了解該序列的底層結(jié)構(gòu)。迭代器通常被稱為“輕量級”對象娜扇,因為創(chuàng)建它的代價小错沃。
Java中的Iterator功能比較簡單,并且只能單向移動:
(1) 使用方法iterator()要求容器返回一個Iterator雀瓢。第一次調(diào)用Iterator的next()方法時枢析,它返回序列的第一個元素。注意:iterator()方法是java.lang.Iterable接口,被Collection繼承刃麸。
(2) 使用next()獲得序列中的下一個元素登疗。
(3) 使用hasNext()檢查序列中是否還有元素。
(4) 使用remove()將迭代器新返回的元素刪除嫌蚤。
Iterator是Java迭代器最簡單的實現(xiàn)辐益,為List設(shè)計的ListIterator具有更多的功能,它可以從兩個方向遍歷List脱吱,也可以從List中插入和刪除元素智政。
迭代器應(yīng)用:
List l = new ArrayList();
l.add("aa");
l.add("bb");
l.add("cc");
for (Iterator iter = l.iterator(); iter.hasNext();) {
String str = (String)iter.next();
System.out.println(str);
}
/*迭代器用于while循環(huán)
Iterator iter = l.iterator();
while(iter.hasNext()){
String str = (String) iter.next();
System.out.println(str);
}