首頁  >  文章  >  Java  >  Java的Iterator介面總結

Java的Iterator介面總結

黄舟
黄舟原創
2017-03-15 11:55:301453瀏覽

紙上得來終覺淺,絕知此事要躬行 --陸遊   問渠那得清如許,為有源頭活水來 --朱熹


#迭 代器是一種設計模式,它是一個物件,它可以遍歷並選擇序列中的對象,而開發人員不需要了解該序列的底層結構。迭代器通常被稱為「輕量級」對象,因為創建它的代價小。

在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介面總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn