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

Hassan Saeed 2023年1月30日 2020年12月21日
  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