拡張for文は、入れ子(ネスト)にして使うことができる。
構文
for( データ型[][] 2次元配列変数B : 3次元配列変数A ){
配列変数Aの配列要素数分繰り返し行う処理
for( データ型[] 1次元配列変数C : 2次元配列変数B ){
配列変数Bの配列要素数分繰り返し行う処理
for( データ型 変数 : 1次元配列変数C ){
配列変数Cの配列要素数分繰り返し行う処理
}
}
}
配列変数Aの配列要素数分繰り返し行う処理
for( データ型[] 1次元配列変数C : 2次元配列変数B ){
配列変数Bの配列要素数分繰り返し行う処理
for( データ型 変数 : 1次元配列変数C ){
配列変数Cの配列要素数分繰り返し行う処理
}
}
}
サンプル
多次元配列を拡張for文で展開。
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 | 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 } } }; for( int[][] $itemA : $array ){ for( int[] $itemB : $itemA ){ for( int $itemC : $itemB ){ System.out.println( "「" + $itemC + "」" ); } } } } } |
実行結果
「1」
「2」
「3」
「4」
「5」
「6」
「7」
「8」
「9」
「10」
「11」
「12」
「2」
「3」
「4」
「5」
「6」
「7」
「8」
「9」
「10」
「11」
「12」