Benutzerdefinierter Iterator in Java

Haider Ali 12 Oktober 2023
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.

Autor: Haider Ali
Haider Ali avatar Haider Ali avatar

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

Verwandter Artikel - Java Iterator