java容器(八)---Java迭代器(轉)(iterator詳解以及和for迴圈的區別)__Java

來源:互聯網
上載者:User
迭代器是一種模式,它可以使得對於序列類型的資料結構的遍曆行為與被遍曆的對象分離,即我們無需關心該序列的底層結構是什麼樣子的。只要拿到這個對象,使用迭代器就可以遍曆這個對象的內部.

1.Iterator

Java提供一個專門的迭代器<<interface>>Iterator,我們可以對某個序列實現該interface,來提供標準的Java迭代器。Iterator介面實現後的功能是“使用”一個迭代器.

文檔定義: [java]  view plain copy print ? Package java.util;
publicinterface Iterator<E> {
boolean hasNext();//判斷是否存在下一個對象元素
E next();
void remove(); } [java]  view plain copy print ? <span style="font-size:18px;">Package  java.util;       public interface Iterator<E> {          boolean hasNext();//判斷是否存在下一個對象元素           E next();          void remove();   }   </span>  


2.Iterable

Java中還提供了一個Iterable介面,Iterable介面實現後的功能是“返回”一個迭代器,我們常用的實現了該介面的子介面有: Collection<E>, Deque<E>, List<E>, Queue<E>, Set<E> 等.該介面的iterator()方法返回一個標準的Iterator實現。實現這個介面允許對象成為 Foreach 語句的目標。就可以通過Foreach文法遍曆你的底層序列。

Iterable介面包含一個能夠產生Iterator的iterator()方法,並且Iterable介面被foreach用來在序列中移動。因此如果建立了任何實現Iterable介面的類,都可以將它用於foreach語句中。 [java]  view plain copy print ? 文檔定義:
Package java.lang;
import java.util.Iterator; public interface Iterable<T> { Iterator<T> iterator(); } [java]  view plain copy print ? <span style="font-size:18px;">文檔定義:      Package  java.lang;       import  java.util.Iterator;    public interface Iterable<T> {         Iterator<T> iterator();    }      </span>  


[java]  view plain copy print

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.