標籤:iterator
紙上得來終覺淺,絕知此事要躬行 --陸遊
問渠那得清如許,為有源頭活水來 --朱熹
迭 代器是一種設計模式,它是一個對象,它可以遍曆並選擇序列中的對象,而開發人員不需要瞭解該序列的底層結構。迭代器通常被稱為“輕量級”對象,因為建立它的代價小。在Collection集合中都會實現terator,因此可以通過iterator()函數獲得一個iterator對象,然後就可以利用提供的函數進行相應的輸出操作。(1)iterator()方式是Java.lang.Iterator介面,被Collection實現。使用方法iterator()要求容器返回一個iterator。(2)第一次調用Iterator的next()方法時,它返回序列的第一個元素,之後都會獲得序列中的下一個元素。(3)使用hasNext()檢查序列中是否還有元素。(4)使用remove()將迭代器新返回的元素刪除。
Java8中Iterator介面的源碼:
public interface Iterator<E>
{
boolean hasNext();//判斷是否下一個
E next();//擷取下一個
default void remove() //刪除
{
throw new UnsupportedOperationException("remove");
}
default void forEachRemaining(Consumer<? super E> action) {
Objects.requireNonNull(action);
while (hasNext())
action.accept(next());
}
}
簡單樣本:
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);
}
//方法二
Iterator iter2 = l.iterator();
while(iter2.hasNext())
{
String str = (String) iter2.next();
System.out.println(str);
}
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
Java-Iterator總結