Zoeken…


Het Iterator-patroon

Het Iterator-patroon

Collecties zijn een van de meest gebruikte datastructuren in software engineering. Een verzameling is slechts een groep objecten. Een verzameling kan een lijst, een array, een kaart, een boom of wat dan ook zijn. Een verzameling moet dus een manier bieden om toegang te krijgen tot zijn elementen zonder zijn interne structuur bloot te leggen. We moeten het kunnen doorlopen op dezelfde manier, ongeacht het soort verzameling dat het is.

Het idee van het iteratorpatroon is de verantwoordelijkheid nemen om toegang te krijgen tot het object van een verzameling en het in een iteratorobject te plaatsen. Het iterator-object in ruil daarvoor handhaaft de volgorde van iteratie, houdt het huidige item bij en moet een manier hebben om het volgende element op te halen.

Gewoonlijk bevat de verzamelklasse twee componenten: de klasse zelf, en het is 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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow