要素を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