ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

Iterator

要素を1つ1つ数え上げるもの。
配列の要素を順番に処理していくようなときに使う。ループ変数のようなもの。
forループ等で直接アクセスせず、Iteratorを使うことによって、配列がリストになったりしてもソースを変更することなくアクセスできる。
Javaにはjava.util.Iteratorで実装されている。hasNext()で次の要素があるか返し、next()で次の要素を返す。コードとしてはこんな感じ。

Iterator it = DataList.iterator();

while( it.hasNext() )
{
    Data test = (Data)it.next();
}

STLでもよく出てくるIteratorも同じものと考えていいのだろうか。


参考文献:Java言語で学ぶデザインパターン入門
参考:
ギコ猫とIteratorパターン
Iterator パターン - Wikipedia