Heim  >  Artikel  >  Java  >  Java Iterator und Iterable vom Anfänger bis zum Experten

Java Iterator und Iterable vom Anfänger bis zum Experten

WBOY
WBOYnach vorne
2024-02-20 08:27:34674Durchsuche

Java Iterator 和 Iterable 的从入门到精通

Iterator und Iterable spielen eine wichtige Rolle in Java CollectionsFramework. Iterator bietet eine Standardmethode zum Durchlaufen der Elemente einer Sammlung, während Iterable einen Mechanismus zum Erstellen von Iteratoren bereitstellt. In diesem Artikel geht es von „Erste Schritte“ bis hin zur Beherrschung. Er führt die Verwendung von Iterator und Iterable im Detail ein und hilft den Lesern, die Verwendungsfähigkeiten dieser beiden Schnittstellen zu beherrschen, um Java-Sammlungen besser bedienen zu können. Iterator- und Iterable-Übersicht

Iterator

Die

Iterator-Schnittstelle definiert einen Iterator, der es

Programmierern

ermöglicht, der Reihe nach auf Elemente in einer Sammlung zuzugreifen. Iterator bietet einige grundlegende Methoden, darunter hasNext(), next() und remove(), um zu prüfen, ob das nächste Element vorhanden ist, das nächste Element abzurufen und das aktuelle Element aus der Sammlung zu entfernen.

public interface Iterator<E> {
boolean hasNext();
E next();
void remove();
}
Iterierbar

Die Iterable-Schnittstelle definiert ein iterierbares Objekt, das eine Iterator-Instanz generieren kann, um über seine Elemente zu iterieren. Iterable bietet eine grundlegende Methode, iterable(), die eine Iterator-Instanz zurückgibt.

public interface Iterable<E> {
Iterator<E> iterator();
}

Verwendung von Iterator und Iterable

Iterator verwenden

Um Iterator verwenden zu können, müssen Sie zunächst eine Iterator-Instanz erwerben. Sie können die iterable()-Methode der Iterable-Schnittstelle verwenden, um eine Iterator-Instanz abzurufen, oder Sie können direkt die iterator()-Methode der Collection-Klasse verwenden, um eine Iterator-Instanz abzurufen.

List<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");

// 使用 Iterable 接口的 iterable() 方法获取 Iterator 实例
Iterator<String> iterator1 = list.iterable();

// 直接使用集合类的 iterator() 方法获取 Iterator 实例
Iterator<String> iterator2 = list.iterator();

Nachdem Sie die Iterator-Instanz erhalten haben, können Sie mit der Methode hasNext() prüfen, ob ein nächstes Element vorhanden ist, Sie können die Methode next() verwenden, um das nächste Element abzurufen, und Sie können die Methode remove() verwenden, um das nächste Element zu entfernen aktuelles Element aus der Sammlung.

while (iterator.hasNext()) {
String element = iterator.next();
System.out.println(element);
iterator.remove();
}

Verwenden Sie Iterable

Um Iterable verwenden zu können, müssen Sie zunächst eine Iterable-Instanz erhalten. Sie können eine Iterable-Instanz mithilfe einer Instanziierung der Iterable-Schnittstelle erstellen oder Sie können eine Iterable-Instanz direkt mithilfe einer Sammlungsklasse erstellen.

List<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");

// 使用 Iterable 接口的实例化来创建 Iterable 实例
Iterable<String> iterable1 = new ArrayList<>(list);

// 直接使用集合类来创建 Iterable 实例
Iterable<String> iterable2 = list;

Nachdem Sie die Iterable-Instanz erhalten haben, können Sie die iterable()-Methode verwenden, um die Iterator-Instanz abzurufen, und dann können Sie die Iterator-Instanz verwenden, um die Elemente in der Sammlung zu durchlaufen.

for (String element : iterable) {
System.out.println(element);
}

Der Unterschied zwischen Iterator und Iterable

Iterator und Iterable sind zwei eng verwandte Schnittstellen, es gibt jedoch einige Unterschiede zwischen ihnen.

Iterator ist ein Iterator, der es dem Programmierer ermöglicht, nacheinander auf Elemente in einer Sammlung zuzugreifen. Ein Iterable ist ein iterierbares Objekt, das eine Iterator-Instanz generiert, um über seine Elemente zu iterieren.
  • Iterator bietet einige grundlegende Methoden, darunter hasNext(), next() und remove(), um zu prüfen, ob das nächste Element vorhanden ist, das nächste Element abzurufen und das aktuelle Element aus der Sammlung zu entfernen. Iterable bietet nur eine grundlegende Methode, iterable(), die eine Iterator-Instanz zurückgibt.
  • Iterator kann direkt zum Durchlaufen von Elementen in einer Sammlung verwendet werden. Iterable muss zuerst eine Iterator-Instanz abrufen und dann die Iterator-Instanz verwenden, um die Elemente in der Sammlung zu durchlaufen.
Zusammenfassung

Iterator und Iterable sind zwei sehr wichtige Schnittstellen im Java-Collection-Framework. Sie bieten eine Standardmethode zum Durchlaufen von Elementen in einer Collection. Iterator bietet einen Iterator für den sequentiellen Zugriff auf die Elemente einer Sammlung, während Iterable einen Mechanismus zum Erstellen von Iterator-Instanzen bereitstellt. Die Beherrschung der Verwendung von Iterator und Iterable kann Programmierern dabei helfen, Java-Sammlungen besser zu verwalten.

Das obige ist der detaillierte Inhalt vonJava Iterator und Iterable vom Anfänger bis zum Experten. 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