Heim  >  Artikel  >  Java  >  Java Iterator und Iterable: Eine eingehende Analyse des Java-Collection-Traversal-Mechanismus

Java Iterator und Iterable: Eine eingehende Analyse des Java-Collection-Traversal-Mechanismus

王林
王林nach vorne
2024-02-19 20:36:071093Durchsuche

Java Iterator 和 Iterable:深入剖析 Java 集合遍历机制

Iterator-Schnittstelle

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.
Die

Iterator-Schnittstelle definiert auch einige optionale Methoden, beispielsweise die remove()-Methode, mit der das aktuelle Element aus der Sammlung gelöscht wird.

Iterator-Schnittstelle verwenden

Sie können eine Sammlung mithilfe der Iterator-Schnittstelle mit den folgenden Schritten durchlaufen:

  1. Holen Sie sich das Iterator-Objekt der Sammlung.
  2. Verwenden Sie die hasNext()-Methode, um zu überprüfen, ob die Sammlung weitere Elemente enthält.
  3. Wenn es mehr Elemente gibt, verwenden Sie die next()-Methode, um das nächste Element abzurufen.
  4. Wiederholen Sie die Schritte 2 und 3, bis das Set keine Elemente mehr enthält.

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);
}
}
}

Iterierbare Schnittstelle

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.

Verwenden Sie die iterierbare Schnittstelle

Eine Sammlung kann mithilfe der Iterable-Schnittstelle mit den folgenden Schritten durchlaufen werden:

  1. Holen Sie sich das Iterable-Objekt der Sammlung.
  2. Verwenden Sie die iterator()-Methode, um ein Iterator-Objekt abzurufen.
  3. Verwenden Sie Iterator-Objekte, um Sammlungen zu durchlaufen.

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);
}
}
}

Der Unterschied zwischen Iterator- und Iterable-Schnittstellen

Iterator- und Iterable-Schnittstellen sind beide Schnittstellen zum Durchlaufen von Sammlungen, es gibt jedoch einige Unterschiede zwischen ihnen.

  • Iterator ist eine Low-Level-Schnittstelle, die direkt auf die Elemente in der Sammlung einwirkt.
  • Iterable ist eine High-Level-Schnittstelle, die über die Iterator-Schnittstelle Elemente in einer Sammlung bearbeitet.
  • Die
  • Iterator-Schnittstelle definiert zwei Hauptmethoden: hasNext()next() und
  • .
  • Die iterator()Iterable-Schnittstelle definiert nur eine Methode:
  • .

Wann Sie die Iterator-Schnittstelle und wann die Iterable-Schnittstelle verwenden sollten

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

-Methode der Iterator-Schnittstelle verwenden. Wenn Sie nur die Elemente in der Sammlung durchlaufen müssen, können Sie die 🎜-Methode der Iterable-Schnittstelle verwenden, um ein Iterator-Objekt abzurufen, und dann das Iterator-Objekt verwenden, um die Sammlung zu durchlaufen. 🎜

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lsjlt.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen