気ままなタンス*プログラミングなどのノートブック

プログラミングやRPGツクール、DTM、VOCALOIDについてのんびり書きます。

【Javaメモ】Iteratorパターン

GameListという集合体があるとする。

・GameListはAggregateインタフェースを実装し、そのクラスの
iteratorメソッドはIteratorインタフェースの実装クラスを返す

// Aggragate(集合体)インタフェース
interface Aggregate {
  public Iterator iterator();
}
 // GameList
class GameList implements Aggregate {
  public Iterator iterator() {
    return new GameListIterator(this);
  }
}
// Iterator
interface iterator {
  public boolean hasNext();
  public Object next();
}
// GameListIterator 
class GameListIterator implements Iterator {
  GameList gameList;

  public GameListIterator(GameList list) {
    this.gameList = list;
  }

  public boolean hasNext() {
  }

  public Object next() {
  }
}
  GameList gList = new GameList();
  Iterator iterator = ((Aggregate)gList).iterator();
return new HogeListIterator(this);

この書き方が格好良すぎて困る。