デザインパターンについて <イテレーター>について
補足イテレーターパターンについて
1. Iteratorパターン 3 | TECHSCORE(テックスコア)
個人的に用途を考えるのならばキータの記事の方がわかりやすくは感じる。
イテレータ(英語: Iterator)とは、プログラミング言語において配列やそれに類似するデータ構造の各要素に対する繰返し処理の抽象化である。実際のプログラミング言語では、オブジェクトまたは文法などとして現れる。反復するためのものの意味で反復子(はんぷくし)と訳される。繰返子(くりかえし)という一般的ではない訳語もある。
何が繰り返してるか?
がポイントでもある。
ArrayListの要素をfor文などで取得する場合、size()メソッドを使って要素の個数を取得します。
しかし、要素を追加・変更可能なArrayListで要素の個数を取得するのは筋がいいとはいえないかもしれません。
実は、Iteratorというインタフェースを使うと要素の個数を取得せずに繰り返し処理可能です。
リストの数が増えてくると、Iteratorを使うほうが処理スピードは速くなると思われます。
この文章も示唆的。
イテレーターの使いドコロで検索すると、納得できる物が出てくる。
イテレーターの歴史というか、経緯