Java で 2 次元配列を出力する

Hassan Saeed 2023年10月12日
  1. Java で Arrays.deepToString() を使用して 2D 配列を出力する
  2. Java でネストされた for-each ループを使って 2 次元配列を表示する
  3. Java でネストされた for ループを使って 2 次元配列を出力する
Java で 2 次元配列を出力する

このチュートリアルでは、Java で 2D 配列を出力する方法について説明します。Java で 2D 配列を出力する方法はいくつかあります。以下では、それぞれの方法について詳しく説明します。

Java で Arrays.deepToString() を使用して 2D 配列を出力する

Arrays クラスには、2 次元配列を表示するための組み込みメソッド Arrays.deepToString() が用意されています。以下の例は、このメソッドの使い方を示しています。

import java.util.*;

public class MyClass {
  public static void main(String args[]) {
    // Create a 2D array
    int rows = 3;
    int columns = 2;

    int[][] array = new int[rows][columns];

    for (int i = 0; i < rows; i++) {
      for (int j = 0; j < columns; j++) array[i][j] = 0;
    }

    // Print the 2D array
    System.out.println(Arrays.deepToString(array));
  }
}

出力:

[[0, 0], [0, 0], [0, 0]]

これは Java で 2 次元配列の内容を表示する最もシンプルなメソッドです。

Java でネストされた for-each ループを使って 2 次元配列を表示する

このメソッドは、2 次元配列を繰り返し処理するために for-each ループを 2 回使用します。以下の例はこれを示しています。

import java.util.*;

public class MyClass {
  public static void main(String args[]) {
    int rows = 3;
    int columns = 2;

    int[][] array = new int[rows][columns];

    for (int i = 0; i < rows; i++) {
      for (int j = 0; j < columns; j++) array[i][j] = 0;
    }

    for (int[] x : array) {
      for (int y : x) {
        System.out.print(y + " ");
      }
      System.out.println();
    }
  }
}

出力:

0 0 
0 0 
0 0 

2 次元配列は本質的に配列の配列です。上の例では、最初の for ループは 2 次元配列の各配列(これは 2 次元配列の行に相当する)をループし、入れ子になった 2 番目の for ループは個々の要素(これは特定の行の列の値に相当する)を反復処理しています。

Java でネストされた for ループを使って 2 次元配列を出力する

このメソッドは 2つの入れ子になった for ループを用いて 2 次元配列を反復処理して内容を表示します。以下の例はこれを示しています。

import java.util.*;
public class MyClass {
  public static void main(String args[]) {
    int rows = 3;
    int columns = 2;

    int[][] array = new int[rows][columns];

    for (int i = 0; i < rows; i++) {
      for (int j = 0; j < columns; j++) array[i][j] = 0;
    }

    for (int i = 0; i < array.length; i++) {
      for (int j = 0; j < array[i].length; j++) {
        System.out.print(array[i][j] + " ");
      }
      System.out.println();
    }
  }
}

出力:

0 0 
0 0 
0 0

このメソッドは、入れ子になった for-each ループの別の変形です。各列を各行ごとに反復処理し、その位置にある要素を表示します。

関連記事 - Java Array