初期化
多次元配列の型はtype[][]...
で表し、1次元と同じくイニシャライザーやnew
で初期化できる。
new
とイニシャライザーを使うと、要素配列を個別に定義することが可能。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import java.util.Arrays; public class ArrayMultiDimensional { public static void main(String[] args) { // イニシャライザーによる初期化 int[][] intArray = {{0, 1}, {2, 3, 4}}; System.out.println(Arrays.deepToString(intArray)); // [[0, 1], [2, 3, 4]] // newとイニシャライザーによる初期化 intArray = new int[][] {{5, 6, 7}, {8, 9}}; System.out.println(Arrays.deepToString(intArray)); // [[5, 6, 7], [8, 9]] // newとイニシャライザーによる要素配列ごとの初期化 intArray = new int[3][]; intArray[0] = new int[] {1, 2, 3}; intArray[1] = new int[] {4, 5, 6}; intArray[2] = new int[] {7, 8, 9}; System.out.println(Arrays.deepToString(intArray)); // [[1, 2, 3], [4, 5, 6], [7, 8, 9]] } } |
内容表示
多次元配列を表示するには、ループで回すかArrays.deepToString()
を使う(Java – 配列 – 内容表示)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import java.util.Arrays; public class ArrayMultiDim { public void display() { int[][] intArray = {{0, 1}, {2, 3, 4}}; for (int[] subarray: intArray) { for (int e: subarray) { System.out.print(e + " "); } System.out.println(); } // 0 1 // 2 3 4 System.out.println(Arrays.deepToString(intArray)); // [[0, 1], [2, 3, 4]] } public static void main(String[] args) { ArrayMultiDim app = new ArrayMultiDim(); app.display(); } } |