這段時間多次用到了迭代器,但是對於這種“工具”還不是很瞭解,這裡簡單的學習一下。
迭代器(Iterator)迭代器一個對象,它可以遍曆並選擇序列中的對象,而開發人員不需要瞭解該序列的底層結構。
迭代器通常被稱為“輕量級”對象,因為建立它的代價小。
Java中的Iterator功能比較簡單,並且只能單向移動:
(1) 使用方法iterator()要求容器返回一個Iterator,注意:iterator()方法是java.lang.Iterable介面,被Collection繼承。
(2) 使用next()獲得序列中的下一個元素,第一次調用Iterator的next()方法時,它返回序列的第一個元素。(這裡要注意)
(3) 使用hasNext()檢查序列中是否還有元素。
(4) 使用remove()將迭代器新返回的元素刪除。
Iterator是Java迭代器最簡單的實現,為List設計的ListIterator具有更多的功能,它可以從兩個方向遍曆List,也可以從List中插入和刪除元素。
下面是兩個簡單的迭代器應用執行個體:
//用於for迴圈 List list= new ArrayList(); list.add("user1"); list.add("user2"); list.add("user3"); for (Iterator iter = list.iterator(); iter.hasNext();) { String str = (String)iter.next(); System.out.println(str); } //迭代器用於while迴圈 List list= new ArrayList(); list.add("user1"); list.add("user2"); list.add("user3"); Iterator iter =list.iterator(); while(iter.hasNext()){ String str = (String) iter.next(); System.out.println(str); }
其實對於Iterator只是不熟悉,心裡總有一種不踏實的感覺,總覺得對它不夠瞭解。經過對這些知識的查詢瞭解,對它可謂是“知根知底”了,用起來自然更有底氣一些。