トップページへ

配列

配列とは

変数を配列データとして定義することで、1つの変数に複数の値を保存しておくことができます。

配列データの作成

配列データの宣言や初期化は以下のように行ないます。

データ型[] 変数名;
もしくは データ型[] 変数名 = new データ型[配列サイズ];
という形式で記述します。

配列を作成し値を代入する例を以下に示します。

array という名前で int型配列を作成し、値を3つ代入しています。値が確かに arrray に代入されていることを確認するため println() 関数を使って値を表示させています。

以下のように書くと、配列を宣言すると同時に値を直接代入することもできます。

このような記法の場合、配列のサイズは書かないようにします。int[] array = new int[3]{ 72, 91, 83 }; と書くとエラーとなります(3は書かなくて良い)。

配列の宣言に関する他の例です。

変数をコードの冒頭で最初に宣言しています。これらの変数はグローバル変数となるので、後の関数の中で使うことができます。i_array2 はサイズ4の配列として初期化していますが、それ以外の変数は名前の宣言のみで初期化はまだしていません。setup 関数内で、それぞれの変数を初期化、または値の代入を行なっています。Processing でのプログラミングでは、変数はコードの冒頭で宣言だけを行なっておき、初期化や値の代入は setup 関数内で行なうというスタイルで書くことが一般的です。

 i_array2 の中身を見ると、3番目は 100 という値になっていますが、それ以外は 0 になっています。int型やfloat型の配列を new で初期化すると、配列内の全ての値は 0 で初期化されます。i_array2 3番目以外にはこの初期値 0 が入っているというわけです。

 引数が空のprintln関数が間に挟まっていますが、これはコンソール領域での表示を変数ごとに一行空けて見やすくするための処置です。

配列サイズの取得 .length

配列のサイズは、変数に .length を付けることで取得できます。例えばサイズが 10 の配列変数 a があった時、a.length とすることで 10 という値を得ることができます。変数の配列サイズが分からない時などに便利です。例えば以下の average という関数は int型の配列を受け取ってその配列内の数の平均値を求める関数ですが、どのようなサイズの変数が引数として代入されるかは事前にはわかりません。そこで関数内で .length を使って入力された変数のサイズを調べ、それを元に平均値を計算しています。

多次元配列

配列は上述してきたような1次元のものだけでなく、2次元や3次元以上のものも作成可能です。

多次元配列を作成するには、変数の宣言時にデータ型の横に必要な次元数だけブラケット[]を書きます。二次元配列であれば int[][]、三次元配列であれば int[][][] といった具合です。

 なお、二次元以上の配列は println 関数を使って中身をまとめて表示させることができません(上記の例だと println( array1 ); としてもきちんと中身が表示できない)。ですので println( array1[0] ); と、特定の列を指定して、つまりは1次元配列を指定して表示させています。