Suche…


Das Iteratormuster

Das Iteratormuster

Sammlungen sind eine der am häufigsten verwendeten Datenstrukturen im Software-Engineering. Eine Collection ist nur eine Gruppe von Objekten. Eine Sammlung kann eine Liste, ein Array, eine Karte, ein Baum oder irgendetwas sein. Eine Sammlung sollte also eine Möglichkeit bieten, auf ihre Elemente zuzugreifen, ohne ihre interne Struktur offen zu legen. Wir sollten in der Lage sein, es auf dieselbe Art zu durchlaufen, unabhängig von der Art der Sammlung.

Die Idee eines Iteratormusters besteht darin, die Verantwortung für den Zugriff auf das Objekt einer Sammlung zu übernehmen und in ein Iteratorobjekt zu legen. Das Iterator-Objekt im Gegenzug wird die Reihenfolge der Iteration beibehalten, den aktuellen Artikel verfolgen und muss das nächste Element abrufen können.

Normalerweise enthält die Collection-Klasse zwei Komponenten: die Klasse selbst und ihren 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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow