Iterator und Iterable in Java sind wichtige Schnittstellen im Java Collection Framework, die das Durchlaufen von Sammlungen erleichtern. Der PHP-Editor Xinyi wird in diesem Artikel eine ausführliche Analyse der Funktionsprinzipien von Iterator und Iterable in Java bereitstellen, um den Lesern ein besseres Verständnis des Traversierungsmechanismus von Java-Sammlungen zu ermöglichen.
hasNext()
: Überprüfen Sie, ob die Sammlung weitere Elemente enthält. next()
: Gibt das nächste Element in der Sammlung zurück. Iterator-Schnittstelle definiert auch einige optionale Methoden, beispielsweise die remove()
-Methode, mit der das aktuelle Element aus der Sammlung gelöscht wird.
Sie können eine Sammlung mithilfe der Iterator-Schnittstelle mit den folgenden Schritten durchlaufen:
hasNext()
-Methode, um zu überprüfen, ob die Sammlung weitere Elemente enthält. next()
-Methode, um das nächste Element abzurufen. Das Folgende ist ein Beispiel für das Durchlaufen einer ArrayList mithilfe der Iterator-Schnittstelle:
import java.util.ArrayList; import java.util.Iterator; public class IteratorExample { public static void main(String[] args) { // 创建一个 ArrayList ArrayList<String> names = new ArrayList<>(); // 向 ArrayList 中添加一些元素 names.add("John"); names.add("Mary"); names.add("Bob"); // 获取 ArrayList 的 Iterator 对象 Iterator<String> iterator = names.iterator(); // 使用 Iterator 对象遍历 ArrayList while (iterator.hasNext()) { String name = iterator.next(); System.out.println(name); } } }
Die Iterable-Schnittstelle ist eine High-Level-Schnittstelle im Java Collection Framework zum Durchlaufen von Sammlungen. Es definiert eine iterator()
-Methode, die ein Iterator-Objekt zurückgibt.
Eine Sammlung kann mithilfe der Iterable-Schnittstelle mit den folgenden Schritten durchlaufen werden:
iterator()
-Methode, um ein Iterator-Objekt abzurufen. Das Folgende ist ein Beispiel für das Durchlaufen einer ArrayList mithilfe der Iterable-Schnittstelle:
import java.util.ArrayList; import java.util.Iterable; public class IterableExample { public static void main(String[] args) { // 创建一个 ArrayList ArrayList<String> names = new ArrayList<>(); // 向 ArrayList 中添加一些元素 names.add("John"); names.add("Mary"); names.add("Bob"); // 获取 ArrayList 的 Iterable 对象 Iterable<String> iterable = names; // 使用 Iterable 对象获取一个 Iterator 对象 Iterator<String> iterator = iterable.iterator(); // 使用 Iterator 对象遍历 ArrayList while (iterator.hasNext()) { String name = iterator.next(); System.out.println(name); } } }
Iterator- und Iterable-Schnittstellen sind beide Schnittstellen zum Durchlaufen von Sammlungen, es gibt jedoch einige Unterschiede zwischen ihnen.
hasNext()
和 next()
und iterator()
Iterable-Schnittstelle definiert nur eine Methode: Wenn Sie die Elemente in der Sammlung direkt bearbeiten müssen, können Sie im Allgemeinen die Iterator-Schnittstelle verwenden. Wenn Sie nur die Elemente in einer Sammlung durchlaufen müssen, können Sie die Iterable-Schnittstelle verwenden.
remove()
方法。如果只需要遍历集合中的元素,则可以使用 Iterable 接口的 iterator()
Wenn Sie beispielsweise Elemente aus einer Sammlung entfernen müssen, können Sie die
Das obige ist der detaillierte Inhalt vonJava Iterator und Iterable: Eine eingehende Analyse des Java-Collection-Traversal-Mechanismus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!