「for ループの宣言部分が int[] u として宣言されているのに、int[][] u として宣言されていないのはなぜですか?」
配列は 2 次元であるため、2 層の反復を扱っています。機能するのと同じ原則で、別の「内部」に配列がありList<List<Integer>>
ます。
すべての要素を反復するには、行要素構造を検討する必要があります。コンテナーから各行を取得し、次に各行から各要素を取得する必要があります。
for(int[] u: uu)
は単純に for-each の反復行であり、 と同じ原理をfor(int row = 0; row < container.length; row++)
持ち、 およびu
または それぞれcontainer[row]
は要素自体ではなく、要素の行 (配列) です。つまり、要素を取得するには 2 番目の反復レイヤーが必要です。
int[][] container = new int[10][10];
//... - Fill elements.
for(int row = 0; row < container.length; row++){
for(int element = 0; element < container[row].length; element++){
System.out.printf("Row: %d Element: %d Value: %d\n", row, element, container[row][element]);
}
}