配列の基礎

Flash Player 9 以降、Adobe AIR 1.0 以降

多くの場合、プログラミングでは単一のオブジェクトではなく、アイテムのセットで作業する必要があります。例えば、ミュージックプレーヤーアプリケーションで再生を待機する曲のリストがあるとします。このリストのそれぞれの曲に対して、個別の変数を作成したくはないはずです。すべての曲のオブジェクトを単一のバンドルにまとめ、グループとして操作できる方が望ましいでしょう。

配列は、曲のリストなど、一連のアイテムのコンテナとして機能するプログラミング要素です。 最も一般的な場合、配列内のすべてのアイテムは同じクラスのインスタンスとして使用されますが、これは ActionScript の要件ではありません。配列内の個別のアイテムを配列の 要素 と言います。配列は、変数のファイル用引き出しと見なすことができます。変数は、配列の要素として追加できます。これは、ファイル用引き出しにフォルダーを挿入することに似ています。別の位置に引き出し全体を運ぶことと同じように、配列を 1 つの変数として操作できます。ある 1 つの情報を探してフォルダーを 1 つずつ見ていくように、変数をグループとして操作できます。また、引き出しを開いて単一のフォルダーを選択するように、変数に個別にアクセスすることもできます。

例えば、ユーザーが複数の曲を選択してそれをプレイリストに追加できるミュージックプレーヤーアプリケーションを作成する場合を考えてください。ActionScript コードで、パラメーターとして単一の配列を受け取る addSongsToPlaylist() という名前のメソッドを作成することにします。リストに追加する曲の数にかかわらず(少数または多数の場合、あるいは 1 つだけの場合)、 addSongsToPlaylist() メソッドを 1 回だけ呼び出して、Song オブジェクトを含む配列を渡すだけで済みます。そして addSongsToPlaylist() メソッド内で、配列要素(曲)を 1 つずつループし、実際にプレイリストに追加できます。

ActionScript 配列の最も一般的なタイプに、 インデックス配列 があります。インデックス配列では、各アイテムが番号付きスロットに格納されます( インデックス と呼ばれます)。アイテムにはアドレスなどの番号を使用してアクセスします。インデックス配列は、大半のプログラミングニーズを満たします。 Array クラスは、インデックス配列を表すために使用される一般的なクラスです。

多くの場合、インデックス配列は同じ型の複数のアイテム(同じクラスのインスタンスであるオブジェクト)を格納するために使用されます。Array クラスには、このクラスが含むアイテムの型を制限する手段がありません。Vector クラスは、インデックス配列の 1 つの型であり、単一の配列内のアイテムはすべて同じ型です。また、Array インスタンスではなく Vector インスタンスを使用すると、パフォーマンスが改善されるだけでなく、その他の点でもメリットがあります。Vector クラスは、Flash Player 10 および Adobe AIR 1.5 以降で使用できます。

インデックス配列の特別な使用方法として 多次元配列 があります。多次元配列は、要素がインデックス配列(つまり、他の要素を含む)になっているインデックス配列です。

もう 1 つのタイプの配列に 結合配列 があります。この配列では、個別の要素を識別するために数値インデックスの代わりにストリングの キー を使用します。最後に、ActionScript 3.0 には ディクショナリ を表す Dictionary クラスも含まれています。ディクショナリはオブジェクトの任意の型をキーとして使用して要素を区別できる配列です。

重要な概念と用語

次の参照リストに、配列およびベクター処理ルーチンのプログラミングで使用される重要な用語を示します。

配列
複数のオブジェクトをグループ化するためのコンテナとして役立つオブジェクト。

配列アクセス([])演算子
配列要素を一意に識別するインデックスまたはキーを囲む一組の角括弧。このシンタックスは配列変数名の後に使用され、配列全体ではなく配列の 1 つの要素を指定します。

結合配列
個別の要素を識別するためにストリングキーを使用する配列。

ベース型
Vector インスタンスを格納できるオブジェクトのデータ型。

辞書
アイテムがキーおよび値と呼ばれるペアのオブジェクトから構成される配列。 キーは、単一の要素を識別するために数値インデックスの代わりに使用します。

エレメント
配列内の単一のアイテム。

索引
インデックス配列内の単一の要素を識別するための「番号アドレス」。

インデックス配列
各要素を番号付きの位置に保存し、個別の要素を識別するために番号(インデックス)を使用する標準タイプの配列。

キー
結合配列またはディクショナリ内で単一要素を識別するためのストリングまたはオブジェクト。

多次元配列
単一の値ではなく配列であるアイテムを含む配列。

T
ベース型が何であるかに関係なく、Vector インスタンスのベース型を表すこのマニュアルで使用する標準の表記規則。T 表記規則は、型パラメーターの説明に示すように、クラス名を表すために使用されます(「T」は「データ型」の「型」を表します)。

型パラメーター
Vector クラス名で使用され、ベクターのベース型を指定するシンタックス(Vector クラスが格納するオブジェクトのデータ型)。シンタックスは、ピリオド( . )とその後に続く山括弧( <> )で囲まれたデータ型名で構成されます。これらをまとめると、 Vector.<T> のようになります。本マニュアルでは、型パラメーターで指定されるクラスは、通常、 T として表されます。

Vector
すべての要素が同じデータ型のインスタンスである配列の型。