Recherche…


Le modèle d'itérateur

Le modèle d'itérateur

Les collections sont l'une des structures de données les plus couramment utilisées en génie logiciel. Une collection n'est qu'un groupe d'objets. Une collection peut être une liste, un tableau, une carte, un arbre ou tout autre objet. Ainsi, une collection devrait fournir un moyen d'accéder à ses éléments sans exposer sa structure interne. Nous devrions pouvoir le parcourir dans le même, quel que soit le type de collection.

L'idée du modèle d'itérateur est de prendre la responsabilité d'accéder à l'objet d'une collection et de le placer dans un objet itérateur. En retour, l'objet itérateur maintiendra l'ordre d'itération, conservera une trace de l'élément en cours et aura un moyen de récupérer l'élément suivant.

Habituellement, la classe de collection comporte deux composants: la classe elle-même et son 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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow