イテレータとは
イテレータは、プログラムがデータ値のグループまたは情報の断片を体系的に読み取ることを可能にするコンピューター言語の構成体です。 反復子を使用すると、グループの残りのメンバーに影響を与えることなく、グループの各メンバーに個別にアクセスすることもできます。 C ++、Java、PHP、Perlなど、多くのスクリプト言語およびプログラミング言語で使用されています。 それらの実装は、スキャンするオブジェクトに依存しないため、あらゆるタイプのオブジェクトのグループをスキャンできます。
反復子を使用してオブジェクトのグループを移動することは、通常、反復またはトラバースと呼ばれます。 ほとんどのコンピューター言語では、イテレーターを使用して、コレクションと呼ばれる関連オブジェクトのグループを走査します。 それらの実装は非常に柔軟で、あらゆるサイズのコレクションで使用できます。 一般に、コレクション内の要素に範囲が制限されているため、コレクション内の単純な要素アクセスよりも安全です。 範囲外のインデックスにアクセスすることはまだ可能ですが、イテレータが正しく使用されている場合はほとんどありません。
反復子は、使用されるコンピューター言語に応じて、メモリ内で異なる方法で定義、初期化、および処理されます。 対照的に、それらの一般的な構文は、ほとんどの言語で類似しています。 イテレータに使用できる構文には、明示的または暗黙的に定義された2つの異なるタイプがあります。
明示的なイテレータにはイテレータオブジェクトの作成が含まれ、そのオブジェクトはコレクションの要素に対するトラバーサルループで使用されます。 暗黙的なイテレータには、事前に指定されていないイテレータオブジェクトを作成する特別なタイプのループ構造が含まれます。 特定のトラバーサルに明示的または暗黙的なイテレーターが使用されるかどうかは、通常、プログラマーの好みに依存します。コード量やパフォーマンスの違いは無視できるためです。 明示的イテレータと暗黙的イテレータの最大の違いは、明示的イテレータはソースコードでイテレータの作成を表示するのに対し、暗黙的イテレータはこれを表示しないことです。
オブジェクトのコレクションが利用可能な場合はいつでも、イテレータを使用してそれらをスキャンできます。 コンピューター言語の機能に応じて、配列、マップ、リスト、およびその他のさまざまなコレクションタイプでイテレーターを使用できます。 イテレータはプログラミング言語の比較的一般的な機能であり、ほとんどの一般的な言語には何らかのタイプの機能があります。 一部のコンピューター言語では、要素へのアクセス回数の制限など、追加機能を備えたイテレーターを使用できます。 これらの機能は普遍的ではないため、イテレータ自体とは無関係に実装できる方法がある場合があります。