Java で 2D 配列の長さを取得する方法

Hassan Saeed 2023年10月12日
  1. Java で列サイズを固定した 2 次元配列の長さを取得する
  2. Java で可変列サイズの 2 次元配列の長さを取得する
Java で 2D 配列の長さを取得する方法

このチュートリアルでは、Java で 2 次元配列の長さを取得する方法について説明します。

Java における 2 次元配列とは、配列の配列、つまり、要素が別の配列である配列のことです。例えば、test = new int[5][10]; は 5つの要素を含む配列を表し、これら 5つの要素はそれぞれ 10 個の int 要素を含む配列を表します。2 次元配列は、列の数が各行で同じである長方形の格子と考えることもできるし、列の数が各行で異なるぼろぼろの配列と考えることもできます。

2 次元配列の行数や、2 次元配列の各行の列数を取得したい場合があります。以下では、その取得方法について説明します。

Java で列サイズを固定した 2 次元配列の長さを取得する

2 次元配列が矩形のグリッドであることがわかれば、arr.length を用いて行の数を、arr[0].length を用いて列の数を得ることができます。以下の例はこれを示しています。

public class MyClass {
  public static void main(String args[]) {
    int[][] test;
    test = new int[5][10];
    int row = test.length;
    int col = test[0].length;

    System.out.println("Rows: " + row);
    System.out.println("Columns: " + col);
  }
}

出力:

Rows: 5
Columns: 10

Java で可変列サイズの 2 次元配列の長さを取得する

2 次元配列のカラムサイズが固定されていない場合、つまり配列の配列に含まれる各配列の長さが可変である場合でも、arr.length を用いて行数を取得することができます。しかし、列の数を取得するには、列の長さを取得したい行を指定しなければならません。arr[rowNumber].length で指定する必要があります。以下の例はこれを示しています。

public class MyClass {
  public static void main(String args[]) {
    int[][] test;
    test = new int[2][];
    test[0] = new int[5];
    test[1] = new int[10];
    int row = test.length;
    int col_1 = test[0].length;
    int col_2 = test[1].length;

    System.out.println("Rows: " + row);
    System.out.println("Columns of first row: " + col_1);
    System.out.println("Columns of second row: " + col_2);
  }
}

出力:

Rows: 2
Columns of first row: 5
Columns of second row: 10

関連記事 - Java String