イテレーター

提供: MonoBook
ナビゲーションに移動 検索に移動

イテレーター (Iterator) とは、プログラミング言語における配列や、それに類似する各種コレクションなどのデータ構造において、その各要素への反復的なアクセス方法を抽象化したものである。反復するためのものの意味で反復子(はんぷくし)と訳される。繰返子(くりかえし)という妙訳もある。また.NET Frameworkの世界では列挙子列挙型と名前が似てるが別物)という。

概要[編集 | ソースを編集]

イテレーターをもちいて反復的なアクセス方法を抽象化することにより、たとえデータ構造が異なる場合でも、少なくとも繰り返し処理の記述をほぼ同一にすることができ、簡潔明瞭にソースコードを記述できるようになる。

実際のプログラミング言語ではイテレーターはオブジェクトまたは文法などとして現れる。 プログラミング言語の仕様にイテレーターを便利に扱う機能がない場合はオブジェクトを用いて強引に実装するのが一般的である。 たとえばC++やJ2SE 1.4までの古いJavaがこれに該当する。

一方でプログラミング言語の仕様にイテレーターを便利に扱うための文法マクロプリプロセッサー)が用意されているものもあり、それらを使うことにより簡潔明瞭にソースコードを書くことができる。たとえばC#であればforeach 文がそれにあたり、イテレーターオブジェクトとwhile 文を使った記述にくらべ、非常に簡潔明瞭に記述することができる。

主なプログラミング言語のイテレーター[編集 | ソースを編集]

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]


外部リンク[編集 | ソースを編集]