多次元配列とは、配列の要素に配列を格納し、さらにその配列の要素に配列を格納するなどした、入れ子にした配列のこと。
構文
宣言と同時に代入(初期化)1
データ型[][][] 変数名 = {
{
{ 値1-1-1, 値1-1-2 },
{ 値1-2-1, 値1-2-2 }
},
{
{ 値2-1-1, 値2-1-2 },
{ 値2-2-1, 値2-2-2 }
},
{
{ 値3-1-1, 値3-1-2 },
{ 値3-2-1, 値3-2-2 }
}
};
{
{ 値1-1-1, 値1-1-2 },
{ 値1-2-1, 値1-2-2 }
},
{
{ 値2-1-1, 値2-1-2 },
{ 値2-2-1, 値2-2-2 }
},
{
{ 値3-1-1, 値3-1-2 },
{ 値3-2-1, 値3-2-2 }
}
};
宣言と同時に代入(初期化)2
データ型 変数名[][][] = {
{
{ 値1-1-1, 値1-1-2 },
{ 値1-2-1, 値1-2-2 }
},
{
{ 値2-1-1, 値2-1-2 },
{ 値2-2-1, 値2-2-2 }
},
{
{ 値3-1-1, 値3-1-2 },
{ 値3-2-1, 値3-2-2 }
}
};
{
{ 値1-1-1, 値1-1-2 },
{ 値1-2-1, 値1-2-2 }
},
{
{ 値2-1-1, 値2-1-2 },
{ 値2-2-1, 値2-2-2 }
},
{
{ 値3-1-1, 値3-1-2 },
{ 値3-2-1, 値3-2-2 }
}
};
例
int型の値を扱う多次元配列の例。
宣言と同時に代入(初期化)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | int varArray[][][] = { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } }, { { 9, 10 }, { 11, 12 } } }; |
サンプル
int型の値を扱う多次元配列のサンプル。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | package samplePackage; public class SampleClass { public static void main( String[] args ){ // 宣言と同時に代入(初期化)。 int[][][] $array = { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } }, { { 9, 10 }, { 11, 12 } } }; System.out.println( "$array[0][0][0]の値は、「" + $array[0][0][0] + "」である。" ); System.out.println( "$array[0][0][1]の値は、「" + $array[0][0][1] + "」である。" ); System.out.println( "$array[0][1][0]の値は、「" + $array[0][1][0] + "」である。" ); System.out.println( "$array[0][1][1]の値は、「" + $array[0][1][1] + "」である。" ); System.out.println( "$array[1][0][0]の値は、「" + $array[1][0][0] + "」である。" ); System.out.println( "$array[1][0][1]の値は、「" + $array[1][0][1] + "」である。" ); System.out.println( "$array[1][1][0]の値は、「" + $array[1][1][0] + "」である。" ); System.out.println( "$array[1][1][1]の値は、「" + $array[1][1][1] + "」である。" ); System.out.println( "$array[2][0][0]の値は、「" + $array[2][0][0] + "」である。" ); System.out.println( "$array[2][0][1]の値は、「" + $array[2][0][1] + "」である。" ); System.out.println( "$array[2][1][0]の値は、「" + $array[2][1][0] + "」である。" ); System.out.println( "$array[2][1][1]の値は、「" + $array[2][1][1] + "」である。" ); System.out.println( "for文で展開" ); for( int $i = 0; $i < $array.length; $i++ ){ for( int $i2 = 0; $i2 < $array[$i].length; $i2++ ){ for( int $i3 = 0; $i3 < $array[$i][$i2].length; $i3++ ){ System.out.println( "$array[" + $i + "][" + $i2 + "][" + $i3 + "]の値は、「" + $array[$i][$i2][$i3] + "」である。" ); } } } } } |
実行結果
$array[0][0][0]の値は、「1」である。
$array[0][0][1]の値は、「2」である。
$array[0][1][0]の値は、「3」である。
$array[0][1][1]の値は、「4」である。
$array[1][0][0]の値は、「5」である。
$array[1][0][1]の値は、「6」である。
$array[1][1][0]の値は、「7」である。
$array[1][1][1]の値は、「8」である。
$array[2][0][0]の値は、「9」である。
$array[2][0][1]の値は、「10」である。
$array[2][1][0]の値は、「11」である。
$array[2][1][1]の値は、「12」である。
for文で展開
$array[0][0][0]の値は、「1」である。
$array[0][0][1]の値は、「2」である。
$array[0][1][0]の値は、「3」である。
$array[0][1][1]の値は、「4」である。
$array[1][0][0]の値は、「5」である。
$array[1][0][1]の値は、「6」である。
$array[1][1][0]の値は、「7」である。
$array[1][1][1]の値は、「8」である。
$array[2][0][0]の値は、「9」である。
$array[2][0][1]の値は、「10」である。
$array[2][1][0]の値は、「11」である。
$array[2][1][1]の値は、「12」である。
$array[0][0][1]の値は、「2」である。
$array[0][1][0]の値は、「3」である。
$array[0][1][1]の値は、「4」である。
$array[1][0][0]の値は、「5」である。
$array[1][0][1]の値は、「6」である。
$array[1][1][0]の値は、「7」である。
$array[1][1][1]の値は、「8」である。
$array[2][0][0]の値は、「9」である。
$array[2][0][1]の値は、「10」である。
$array[2][1][0]の値は、「11」である。
$array[2][1][1]の値は、「12」である。
for文で展開
$array[0][0][0]の値は、「1」である。
$array[0][0][1]の値は、「2」である。
$array[0][1][0]の値は、「3」である。
$array[0][1][1]の値は、「4」である。
$array[1][0][0]の値は、「5」である。
$array[1][0][1]の値は、「6」である。
$array[1][1][0]の値は、「7」である。
$array[1][1][1]の値は、「8」である。
$array[2][0][0]の値は、「9」である。
$array[2][0][1]の値は、「10」である。
$array[2][1][0]の値は、「11」である。
$array[2][1][1]の値は、「12」である。