サーチ…


イテレータパターン

イテレータパターン

コレクションは、ソフトウェアエンジニアリングで最も一般的に使用されるデータ構造の1つです。コレクションは単なるオブジェクトのグループです。コレクションには、リスト、配列、マップ、ツリーなどがあります。したがって、コレクションは、その内部構造を公開することなく要素にアクセスする何らかの方法を提供する必要があります。コレクションの種類にかかわらず、同じでそれをトラバースできなければなりません。

イテレーター・パターンのアイデアは、コレクションのオブジェクトにアクセスし、それをイテレーター・オブジェクトに入れることです。リターンするイテレータオブジェクトは、反復の順序を維持し、現在のアイテムのトラックを保持し、次の要素をフェッチする方法を持っている必要があります。

通常、コレクションクラスには、クラス自体とIteratorという2つのコンポーネントがあります。

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
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow