【Java】3次元配列とは?
これまで1次元配列と2次元配列を学習しましたが、3次元配列もあります。というか、4次元配列、5次元配列もあります。
ここでは、3次元配列について説明します。
1.3次元配列とは?
3次元配列とは、その名のとおり3次元(X、Y、Z方向)にデータの広がりがある配列です。
1次元配列は横方向(X方向)にデータの広がりがあります。
また、2次元配列は縦方向(Y方向)と横方向(X方向)にデータの広がりがあります。
そして3次元配列は、縦方向(Y方向)と横方向(X方向)と奥方向(Z方向)にデータの広がりがあります。
2.3次元配列を分解してみる
3次元配列を分解してみます。
勘の良い方はお気づきかもしれませんが、3次元配列というのは、2次元配列がZ方向に連なったようなもので、特にややこしいものではありません。
以下の画像では、Z方向に3つの2次元配列があります。
3.3次元配列の宣言方法
3次元配列の宣言とデータの代入を同時に行う場合
データ型[][][] 配列名 = new データ型名[][][]{
{
{○, ○, ○, ○, ○},
{△, △, △, △, △},
{□, □, □, □, □}
},
{
{○, ○, ○, ○, ○},
{△, △, △, △, △},
{□, □, □, □, □}
},
{
{○, ○, ○, ○, ○},
{△, △, △, △, △},
{□, □, □, □, □}
},
・
・
・
}
「[][][]」の部分に注意が必要です。あとはZ方向の数だけ二次元配列みたいなデータを「,(カンマ)」で区切って入力するだけです。
なお、上で二次元配列のデータに色付けしていますが、Z方向に関して、一番手前の二次元配列,一個奥の二次元配列,さらに一個奥の二次元配列・・・のようにデータを並べていきます。
先に3次元配列を宣言して後からデータを代入する場合
データ型[][][] 配列名 = new データ型名[Z方向の長さ][Y方向の長さ][X方向の長さ]
ここで注意したいのが[Z方向の長さ][Y方向の長さ][X方向の長さ]で、先にZ方向、次にY方向、最後にX方向の順番になります。
4.3次元配列のデータの取り出し
3次元配列のデータの取り出しは何も難しくなく、一番上から2番目の画像を参考にして頭の中でイメージすれば、どんなデータだって取り出せます。
例えば以下です。
配列名[1][2][4]
こうすれば、Z方向2番目の一番右した「1-2-4」のデータが取り出せます。
5.3次元配列へデータを代入する
まず最初に3次元配列の宣言をします。
String[][][] member = new String[2][2][4];
これはString型の配列で、Z方向に3つ、Y方向に3つ、X方向に5つデータの代入ができます。
ではZ方向は1、Y方向は0、X方向は4のところに文字列「私は1-0-4の場所にいる!」を代入してみます。
String[1][0][4] = "私は1-0-4の場所にいる!";
このような要領で3次元配列にも後からデータを代入できます。
コメント
まだコメントはありません。