<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Java 中元素迭代的歷史 原文:http://zetcode.com/articles/javaiterationhistory/ 在本教程中,我們將研究 Java 中元素迭代的歷史。 編程中最常見的任務之一就是迭代數據集合。 本教程說明了隨著時間的推移,元素迭代如何隨 Java 語言一起發展。 ## `Enumeration` 在 Java 的早期,`Enumeration`用于迭代數據元素。 `Enumeration`接口定義了一些方法,我們可以通過這些方法枚舉(一次獲得一個元素)對象集合中的元素。 兩個主要的集合類是`Vector`和`Hashtable`。 今天,`Enumeration`,`Vector`和`Hashtable`被認為已過時。 但是,它們不被棄用。 `EnumerationEx.java` ```java package com.zetcode; import java.util.Enumeration; import java.util.Vector; public class EnumerationEx { public static void main(String[] args) { Vector items = new Vector(); items.add("coin"); items.add("pen"); items.add("chair"); items.add("lamp"); items.add("cup"); items.add("spoon"); Enumeration itemsEn = items.elements(); while (itemsEn.hasMoreElements()) { System.out.println(itemsEn.nextElement()); } } } ``` 我們有一個向量字符串。 我們使用`Enumeration`遍歷向量的元素。 ```java Enumeration itemsEn = items.elements(); ``` `elements()`方法返回向量的`Enumeration`。 ```java while (itemsEn.hasMoreElements()) { System.out.println(itemsEn.nextElement()); } ``` 元素在`while`循環中遍歷。 當還有更多元素要提取時,`hasMoreElements()`返回`true`,而在列舉所有元素時返回`false`。 ## 迭代器 Java 1.2 引入了標準集合類(`List`,`Set`,`Map`)和`Iterator`。 `Iterator`帶來了迭代器設計模式,這是一種常見的行為模式,用于按順序訪問集合對象的元素,而無需了解其基礎表示。 `IteratorEx.java` ```java package com.zetcode; import java.util.Arrays; import java.util.Iterator; import java.util.List; public class IteratorEx { public static void main(String[] args) { List<String> items = Arrays.asList("coin", "ball", "lamp", "spoon"); Iterator it = items.iterator(); while (it.hasNext()) { System.out.println(it.next()); } } } ``` 在示例中,我們使用`Iterator`遍歷元素列表。 ```java List<String> items = Arrays.asList("coin", "ball", "lamp", "spoon"); ``` 我們使用`Arrays.asList()`方法在一行中定義一個列表。 ```java Iterator it = items.iterator(); ``` 我們使用`iterator()`方法從列表中獲得迭代器。 ```java while (it.hasNext()) { System.out.println(it.next()); } ``` 我們在`while`循環中瀏覽元素列表。 我們使用迭代器的`hasNext()`和`next()`方法。 ## 可迭代對象和增強的`for`循環 Java 5 引入了泛型`Iterable`和增強的`for`循環。 `Iterable`接口允許對象成為增強的`for`循環語句的目標。 `Iterable`是一個對象,其中包含可以迭代的一系列元素。 它具有一種產生`Iterator`的方法。 `EnhancedForLoop.java` ```java package com.zetcode; import java.util.Arrays; import java.util.List; public class EnhancedForLoop { public static void main(String[] args) { List<String> items = Arrays.asList("coin", "ball", "lamp", "spoon"); for (String item: items) { System.out.println(item); } } } ``` 該示例使用增強的`for`循環遍歷列表元素。 迭代器的創建以及對`hasNext()`和`next()`方法的調用不是明確的,但它們仍在幕后進行。 ## Java8 `forEach()`方法 `forEach()`方法對`Iterable`的每個元素執行給定的操作,直到所有元素都已處理或該操作引發異常。 `forEach()`方法使用內部迭代器,而先前的方法使用外部迭代器。 `ForEachEx.java` ```java package com.zetcode; import java.util.Arrays; import java.util.List; public class ForEachEx { public static void main(String[] args) { List<String> items = Arrays.asList("coin", "ball", "lamp", "spoon"); items.forEach(System.out::println); } } ``` 在示例中,我們使用`forEach()`方法遍歷元素。 在本教程中,我們研究了 Java 中元素迭代的簡要歷史。 您可能也對以下相關教程感興趣:[用 Java 過濾列表](/articles/javafilterlist/), [Java `ArrayList`教程](/articles/javaarraylist/), [Opencsv 教程](/articles/opencsv/), [Java 教程](/lang/java/),[用 Java 讀取文本](/articles/javareadtext/) 或[用 Java 讀取網頁](/articles/javareadwebpage/)或 [Google Guava 簡介](/articles/guava/)。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看