Heim > Java > javaLernprogramm > Tool zum Durchlaufen von Sammlungen: Das Geheimnis von Java Iterator und Iterable

Tool zum Durchlaufen von Sammlungen: Das Geheimnis von Java Iterator und Iterable

王林
Freigeben: 2024-02-20 08:30:49
nach vorne
836 Leute haben es durchsucht

集合遍历利器:Java Iterator与Iterable的奥秘

Java Iterator und Iterable sind zwei wichtige Schnittstellen, die zum Durchlaufen von Sammlungen im JavaCollectionsFramework verwendet werden. Sie bieten eine einfache und einheitliche Möglichkeit, auf die Elemente in einer Sammlung zuzugreifen, ohne die Sammlung selbst direkt zu manipulieren. In diesem Artikel werfen wir einen tiefen Einblick in Iterator und Iterable und zeigen, wie wir sie verwenden können, um das Traversieren von Sammlungen mit Democode zu vereinfachen.

Iterator-Schnittstelle

Iterator ist eine Schnittstelle, die Methoden zum Iterieren von Elementen in einer Sammlung definiert. Es bietet vier Methoden zum Durchlaufen von Sammlungen:

  • hasNext(): Prüfen Sie, ob noch Elemente in der Sammlung vorhanden sind.
  • next(): Gibt das nächste Element in der Sammlung zurück.
  • remove(): Entfernen Sie das aktuelle Element aus der Sammlung.
  • forEachRem<code>forEachRem<strong class="keylink">ai</strong>ning(Consumer<? super E> act<strong class="keylink">io</strong>n)ai
  • ning(Consumer act
io

n): Führt eine Operation für die verbleibenden Elemente in der Sammlung aus.

Die Iterator-Schnittstelle wird normalerweise mit der Iterator()-Methode einer Sammlung verwendet, die ein Iterator-Objekt zurückgibt, das zum Durchlaufen der Elemente in der Sammlung verwendet werden kann. Der folgende Code zeigt beispielsweise, wie ein Iterator zum Durchlaufen einer ArrayList verwendet wird:

List<String> names = new ArrayList<>();
names.add("John");
names.add("Mary");
names.add("Bob");

Iterator<String> iterator = names.iterator();
while (iterator.hasNext()) {
String name = iterator.next();
System.out.println(name);
}
Nach dem Login kopieren

Ausgabe:

List<String> names = new ArrayList<>();
names.add("John");
names.add("Mary");
names.add("Bob");

for (String name : names) {
System.out.println(name);
}
Nach dem Login kopieren

Ausgabe:

John
Mary
Bob
Nach dem Login kopieren

Der Unterschied zwischen Iterator und Iterable
  • Iterator und Iterable sind beide Schnittstellen zum Durchlaufen von Sammlungen, es gibt jedoch einige wesentliche Unterschiede zwischen ihnen:
  • remove()方法和forEachRemaining()方法。Iterable只提供了iterator()Iterator ist eine Instanzschnittstelle, was bedeutet, dass sie von einer Sammlungsklasse implementiert werden muss. Iterable ist eine Typschnittstelle, was bedeutet, dass sie von jeder Klasse implementiert werden kann, einschließlich Sammlungs- und Nicht-Sammlungsklassen.
  • Iterator bietet umfangreichere Funktionen als Iterable, da es die
  • -Methode und die forEachRemaining()-Methode bereitstellt. Iterable stellt nur die Methode iterator() bereit.

Iterator wird normalerweise mit der while-Schleife verwendet, während Iterable normalerweise mit der erweiterten for-Schleife verwendet wird.

Fazit🎜 🎜Java Iterator und Iterable sind zwei wichtige Schnittstellen im Java Collection Framework zum Durchlaufen von Sammlungen. Sie bieten eine einfache und einheitliche Möglichkeit, auf die Elemente in einer Sammlung zuzugreifen, ohne die Sammlung selbst direkt zu manipulieren. Iterator bietet umfangreichere Funktionen als Iterable, ist jedoch einfacher zu verwenden. 🎜

Das obige ist der detaillierte Inhalt vonTool zum Durchlaufen von Sammlungen: Das Geheimnis von Java Iterator und Iterable. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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