Heim > Java > javaLernprogramm > Hauptteil

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

王林
Freigeben: 2024-02-19 20:36:07
nach vorne
1104 Leute haben es durchsucht

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);
}
}
}
Nach dem Login kopieren

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);
}
}
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:lsjlt.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage