Itérateur personnalisé en Java

Haider Ali 12 octobre 2023
Itérateur personnalisé en Java

Dans ce guide, nous allons apprendre à créer un itérateur personnalisé en Java. Un itérateur en Java est un outil assez utile. Vous pouvez le considérer comme une alternative à la boucle foreach. Un itérateur comporte certaines fonctions qui aident les développeurs à mettre à jour une collection bien définie. Voyons comment nous pouvons créer un itérateur personnalisé en Java.

En savoir plus sur les itérateurs en Java ici.

Itérateur personnalisé en Java

Un itérateur personnalisé en Java peut aider les développeurs à résoudre des problèmes comportant des structures de données complexes. Fondamentalement, vous prenez une classe qui implémente iterator et remplacez ses aspects. Par exemple, vous pouvez remplacer ses fonctions par vos propres instructions telles que hasNext(), next() et remove(). Jetez un œil au code suivant.

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 + ", ");
    }
  }
}

Production :

Tim Cook, Mark Zuckerberg, Elon Musk, Jeff Bezos,

Dans l’exemple de code ci-dessus, nous créons un itérateur personnalisé en Java. Tout d’abord, nous avons créé une ArrayList et lui avons donné une taille. En utilisant le constructeur, nous avons attribué des valeurs à ces deux variables. Nous avons créé une fonction nommée iterator() de Iterator<Type>. A l’intérieur de cette fonction, toutes les fonctions d’un itérateur peuvent être surchargées.

Dans la fonction principale, nous créons simplement une liste, en obtenons un itérateur personnalisé et la stockons dans temp. C’est ainsi que nous créons un itérateur personnalisé en Java. Nous n’avons apporté aucune modification lors de la substitution, mais vous pouvez personnaliser votre itérateur comme vous le souhaitez en utilisant cette méthode.

Auteur: 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