Iterador personalizado en Java

Haider Ali 12 octubre 2023
Iterador personalizado en Java

En esta guía, aprenderemos cómo hacer un iterador personalizado en Java. Un iterador en Java es una herramienta bastante útil. Puede considerarlo como una alternativa al bucle foreach. Un iterador presenta algunas funciones que ayudan a los desarrolladores a actualizar una colección bien definida. Veamos cómo podemos hacer un iterador personalizado en Java.

Obtenga más información sobre los iteradores en Java aquí.

Iterador personalizado en Java

Un iterador personalizado en Java puede ayudar a los desarrolladores a resolver problemas con algunas estructuras de datos complejas. Básicamente, tomas una clase que implementa iterador y anula sus aspectos. Por ejemplo, puede anular sus funciones con sus propias instrucciones como hasNext(), next() y remove(). Eche un vistazo al siguiente código.

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

Producción :

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

En el ejemplo de código anterior, estamos creando un iterador personalizado en Java. Primero, hicimos una ArrayList y le dimos un size. Usando el constructor, asignamos valores a ambas variables. Hicimos una función llamada iterator() de Iterator<Type>. Dentro de esta función, todas las funciones de un iterador pueden anularse.

En la función principal, simplemente estamos haciendo una lista, obteniendo un iterador personalizado y almacenándolo en temp. Así es como creamos un iterador personalizado en Java. No hicimos cambios al anular, pero puede personalizar su iterador como desee de esta manera.

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

Artículo relacionado - Java Iterator