2次元配列

 前節まで学習した配列はデータが線のように一列に並んでいるため、1次元配列と呼ばれます。これから縦と横に、つまり表のように並べる配列(2次元配列)を見てみましょう。2次元配列は次のように宣言します。

配列宣言の書式
データ型[][] 配列名 = new データ型[要素数指定][要素数指定];

○ ファイル

 次のようにファイルを作成してください。

ファイル名 TwoDimensionalAarray1.java

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. import java.io.*;
  2. class TwoDimensionalAarray1{
  3.  public static void main(String[] args){
  4.   //配列の宣言
  5.   int[][] data = new int[3][4];
  6.  }
  7. }

○ 解説

 6行目で2次元配列を宣言しています。縦3×横4の配列が用意されます。4つの要素を持つ配列が3つあるようなイメージです。

2次元配列の宣言
2次元配列の宣言

 次に2次元配列に値を代入する方法を見てみましょう。

2次元配列へデータ代入の書式
配列名[インデックス番号][インデックス番号] = ;

○ ファイル

 次のようにファイルを作成してください。

ファイル名 TwoDimensionalAarray2.java

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. import java.io.*;
  2. class TwoDimensionalAarray2{
  3.  public static void main(String[] args){
  4.   //配列の宣言
  5.   int[][] data = new int[3][4];
  6.   //配列に値を代入
  7.   data[0][2] = 100;
  8.   data[1][0] = 200;
  9.   data[2][3] = 300;
  10.   //配列の中身を表示
  11.   System.out.println(data[0][0]);
  12.   System.out.println(data[0][1]);
  13.   System.out.println(data[0][2]);
  14.   System.out.println(data[0][3]);
  15.   System.out.println();
  16.   System.out.println(data[1][0]);
  17.   System.out.println(data[1][1]);
  18.   System.out.println(data[1][2]);
  19.   System.out.println(data[1][3]);
  20.   System.out.println();
  21.   System.out.println(data[2][0]);
  22.   System.out.println(data[2][1]);
  23.   System.out.println(data[2][2]);
  24.   System.out.println(data[2][3]);
  25.  }
  26. }

○ 実行結果

0
0
100
0

200
0
0
0

0
0
0
300

○ 解説

 9行目では0番の配列の2番の要素に「100」を代入しています。 10行目では1番の配列の0番の要素に「200」を代入しています。 11行目では2番の配列の3番の要素に「300」を代入しています。他の要素は配列が用意されたときに設定される初期化の状態のままです。

2次元配列に代入
2次元配列に代入

 次に、2次元配列での初期化の方法を学習しましょう。

2次元配列初期化の書式
データ型[][] 配列名 = @{!!値1, 値2, }, {値1, 値2, !!};

○ ファイル

 次のようにファイルを作成してください。

ファイル名 TwoDimensionalAarray3.java

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. import java.io.*;
  2. class TwoDimensionalAarray3{
  3.  public static void main(String[] args){
  4.   //配列の初期化
  5.   int[][] ary = { { 10, 20, 30, 40 }, { 100, 200, 300, 400 } };
  6.   //配列を表示
  7.   System.out.println(ary[0][0]);
  8.   System.out.println(ary[0][1]);
  9.   System.out.println(ary[0][2]);
  10.   System.out.println(ary[0][3]);
  11.   System.out.println(ary[1][0]);
  12.   System.out.println(ary[1][1]);
  13.   System.out.println(ary[1][2]);
  14.   System.out.println(ary[1][3]);
  15.  }
  16. }

○ 実行結果

10
20
30
40
100
200
300
400

○ 解説

 6行目では2次元配列の宣言と同時に値を格納しています。初期化の場合は配列の要素数を指定する必要はありません。1つの配列に初期化する値を「{}」内で指定し、それをさらにカンマ区切りで複数指定します。

2次元配列の初期化
2次元配列の初期化

 次に、2次元配列の要素数を確認してみましょう。配列の要素数は「配列名.length」で確認できます。2次元配列の場合はどのような結果が出るのでしょうか。

○ ファイル

 次のようにファイルを作成してください。

ファイル名 TwoDimensionalLength.java

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. import java.io.*;
  2. class TwoDimensionalLength{
  3.  public static void main(String[] args){
  4.   //配列の宣言
  5.   int[][] data = new int[2][3];
  6.   //配列の要素数を表示
  7.   System.out.printf("要素数:%d¥n", data.length);
  8.   //2次元配列内の一つの配列の要素数を表示
  9.   System.out.printf("1つの配列の要素数:%d¥n", data[0].length);
  10.  }
  11. }

○ 実行結果

要素数:2
1つの配列の要素数:3

○ 解説

 9行目で配列の要素数を取得していますが、配列全体の要素数を取得できます。配列一つ一つの要素数を調べるには別の方法を使います。 12行目では「配列名[インデックス番号].length」とすることで指定した配列の要素数を取得することができます。

前へ   次へ