Benutzerdefinierter Iterator in Java
In diesem Handbuch erfahren Sie, wie Sie einen benutzerdefinierten Iterator in Java erstellen. Ein Iterator in Java ist ein ziemlich nützliches Werkzeug. Sie können es als Alternative zur foreach
-Schleife betrachten. Ein Iterator bietet einige Funktionen, die den Entwicklern helfen, eine gut definierte Sammlung zu aktualisieren. Sehen wir uns an, wie wir einen benutzerdefinierten Iterator in Java erstellen können.
Erfahren Sie mehr über Iteratoren in Java hier.
Benutzerdefinierter Iterator in Java
Ein benutzerdefinierter Iterator in Java kann den Entwicklern helfen, Probleme mit einigen komplexen Datenstrukturen zu lösen. Grundsätzlich nehmen Sie eine Klasse, die iterator
implementiert und deren Aspekte überschreibt. Zum Beispiel können Sie seine Funktionen mit Ihren eigenen Anweisungen wie hasNext()
, next()
und remove()
überschreiben. Sehen Sie sich den folgenden Code an.
import java.util.Iterator; // Iterator Import
class CustomList<Type> implements Iterable<Type> {
private Type[] arrayList;
private int Size;
public CustomList(Type[] newArray) { // Constructor Which Accepts Array...
this.arrayList = newArray;
this.Size = arrayList.length;
}
@Override
public Iterator<Type> iterator() {
// OverRiding Default List Iterator //
Iterator<Type> it = new Iterator<Type>() {
private int currentIndex = 0;
@Override
public boolean hasNext() {
// OverRiding Default hasNext Method//
return currentIndex < Size && arrayList[currentIndex] != null;
}
@Override
public Type next() {
// OverRiding Default next Method//
return arrayList[currentIndex++];
}
@Override
public void remove() {
// OverRiding Default Remove Method.
throw new UnsupportedOperationException();
}
};
return it;
}
}
public class Main {
public static void main(String args[]) {
String[] data = new String[] {"Tim Cook", "Mark Zuckerberg", "Elon Musk", "Jeff Bezos"};
CustomList<String> Listt = new CustomList<String>(data);
// creating a CustomList Object Which OverRides.
// The Iterator and Use The Custom Iterator Which is Defined in The Code.
Iterator temp = Listt.iterator(); // getting Custom iterator from List.
while (temp.hasNext()) { // custom hasNext() Method
String value = temp.next().toString(); // Custom Method Return The Current Index
System.out.print(value + ", ");
}
}
}
Ausgabe:
Tim Cook, Mark Zuckerberg, Elon Musk, Jeff Bezos,
Im obigen Codebeispiel erstellen wir einen benutzerdefinierten Iterator in Java. Zuerst haben wir eine ArrayList
erstellt und ihr eine Größe
gegeben. Mit dem Konstruktor haben wir beiden Variablen Werte zugewiesen. Wir haben eine Funktion namens iterator()
von Iterator<Type>
erstellt. Innerhalb dieser Funktion können alle Funktionen eines Iterators
überschrieben werden.
In der Hauptfunktion erstellen wir einfach eine Liste, holen daraus einen benutzerdefinierten Iterator und speichern ihn in temp
. So erstellen wir einen benutzerdefinierten Iterator in Java. Wir haben beim Überschreiben keine Änderungen vorgenommen, aber Sie können Ihren Iterator auf diese Weise nach Belieben anpassen.
Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.
LinkedIn