迭代器(Iterator)
迭代器是一種設(shè)計(jì)模式,它是一個(gè)對(duì)象神郊,它可以遍歷并選擇序列中的對(duì)象肴裙,而開發(fā)人員不需要了解該序列的底層結(jié)構(gòu)趾唱。迭代器通常被稱為“輕量級(jí)”對(duì)象,因?yàn)閯?chuàng)建它的代價(jià)小。
Java中的Iterator功能比較簡(jiǎn)單,并且只能單向移動(dòng):
(1) 使用方法iterator()要求容器返回一個(gè)Iterator恩掷。第一次調(diào)用Iterator的next()方法時(shí)忙上,它返回序列的第一個(gè)元素。注意:iterator()方法是java.lang.Iterable接口,被Collection繼承鞭缭。
(2) 使用next()獲得序列中的下一個(gè)元素。
(3) 使用hasNext()檢查序列中是否還有元素。
(4) 使用remove()將迭代器新返回的元素刪除乔煞。
Iterator是Java迭代器最簡(jiǎn)單的實(shí)現(xiàn),為L(zhǎng)ist設(shè)計(jì)的ListIterator具有更多的功能柒室,它可以從兩個(gè)方向遍歷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);
}
*/