Buscar..


El patrón iterador

El patrón iterador

Las colecciones son una de las estructuras de datos más utilizadas en ingeniería de software. Una Colección es solo un grupo de objetos. Una colección puede ser una Lista, una matriz, un mapa, un árbol o cualquier cosa. Por lo tanto, una colección debe proporcionar alguna forma de acceder a sus elementos sin exponer su estructura interna. Deberíamos poder recorrerlo de la misma manera, independientemente del tipo de colección que sea.

La idea del patrón de iterador es asumir la responsabilidad de acceder al objeto de una colección y colocarlo en un objeto iterador. El objeto iterador a cambio mantendrá el orden de iteración, mantendrá un seguimiento del elemento actual y deberá tener una forma de obtener el siguiente elemento.

Generalmente, la clase de colección lleva dos componentes: la clase en sí, y es Iterator .

public interface Iterator {
   public boolean hasNext();
   public Object next();
}

public class FruitsList {
    public String fruits[] = {"Banana", "Apple", "Pear", "Peach", "Blueberry"};

    public Iterator getIterator() {
       return new FruitIterator();
    }

    private class FruitIterator implements Iterator {
       int index;

       @Override
       public boolean hasNext() {
           return index < fruits.length;
       }

       @Override
       public Object next() {
   
          if(this.hasNext()) {
            return names[index++];
          }
          return null;
       }        
    }
}


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow