|
|
| |
 |
多次元配列編 |
 |
◆配列とは? |
| 配列とは「同じ型のデータを複数持つことができる入れ物」のことです。同じ型のデータが1次元的(直線的)に並んだ配列を1次元配列と呼びます。intやlongなどの基本データ型のデータだけでなく、StringやIntegerなどのオブジェクト型のデータも持つことができます。 |
| ◆ここでの環境 |
| OS |
Windows XP |
| J2SE SDK |
1.4.2_04 |
|
|
|
|
| ◆多次元配列 |
| 1次元配列に加えて、2次元またはそれ以上の多次元配列を作成できます。ここでは2次元配列を例にとります。2次元配列とは配列の配列のことです。縦横の2次元で配列を考えます。縦方向に1次元目の配列の番号が増えて、横方向に2次元目の配列の番号が増えます。表にすると以下のようになります。 |
| ia[0][0] |
ia[0][1] |
ia[0][2] |
| ia[1][0] |
ia[1][1] |
ia[1][2] |
|
| ■多次元配列の宣言 |
| 2次元配列を宣言するには以下のようにします。型の後にある最初の[]が1次元目、2番目の[]が2次元目を表しています。 |
| [構文] |
|
| [例] int型の2次元配列の場合 |
|
| |
| ■多次元配列の生成 |
| 2×3のint型の2次元配列を生成するには以下のようにします |
| [構文] |
| 型[][] 配列名 = new
型[1次元目の要素数][2次元目の要素数] |
|
| [例] 2×3のint型の2次元配列を生成する場合 |
| int[][] ia = new int[2][3]; |
|
| この2次元配列の各要素をわかりやすく図にすると以下のようになります。縦が1次元目、横が2次元目を表しています。 |
| ia[0][0] |
ia[0][1] |
ia[0][2] |
| ia[1][0] |
ia[1][1] |
ia[1][2] |
|
| |
| ■多次元配列の初期化 |
| 配列を生成して値を代入していない状態では各要素には初期値が入っています。配列の各要素に値を代入するには以下のようにします。 |
| [構文] |
| 配列名[1次元目の番号][2次元目の番号]
= 値; |
|
| [例] 2×3のint型の2次元配列の各要素に値を代入する例 |
int[][] ia = new int[2][3];
ia[0][0] = 1;
ia[0][1] = 2;
ia[0][2] = 3;
ia[1][0] = 4;
ia[1][1] = 5;
ia[1][2] = 6; |
|
| |
| ■多次元配列の生成時に初期値を与える方法 |
| 1次元配列の場合と同様に配列の生成時に初期値を与えることができる短縮形があります。 |
| [構文] |
| 配型[][] 配列名 =
{ { 値 , 値 ,・・} , { 値 , 値 , ・・} , ・・・}; |
|
| [例] 2×3のint型の2次元配列を生成して初期値を与える例 |
| int[][] ia = { { 1 , 2 , 3 } , { 4 , 5 , 6} }; |
|
| |
| ■多次元配列の要素数の取得 |
| 1次元目の要素数を取得するには以下のようにします。 |
| [構文] |
|
| [例] |
|
| 2次元目の要素数を取得するには以下のようにします。 |
| [構文] |
|
| [例] |
|
| |
| ■サンプルプログラム |
| Hairetsu2.java(ここからダウンロード) |
public class Hairetsu2 {
public static void main(String[] args) {
// 2次元配列の宣言
int[][] intarray = new int[2][3];
// 2次元配列の初期化
intarray[0][0] = 3;
intarray[0][1] = -23;
intarray[0][2] = 5;
intarray[1][0] = 16;
intarray[1][1] = 38;
intarray[1][2] = 21;
// 表示
System.out.println("intarray[0][0]の値は " + intarray[0][0] + " です。");
System.out.println("intarray[0][1]の値は " + intarray[0][1] + " です。");
System.out.println("intarray[0][2]の値は " + intarray[0][2] + " です。");
System.out.println("intarray[1][0]の値は " + intarray[1][0] + " です。");
System.out.println("intarray[1][1]の値は " + intarray[1][1] + " です。");
System.out.println("intarray[1][2]の値は " + intarray[1][2] + " です。");
// 2次元配列の宣言と初期化
String[][] sarray = { { "One" , "Two" , "Three" }, { "1" , "2" } };
// 表示
System.out.println("sarray[0][0]の値は " + sarray[0][0] + " です。");
System.out.println("sarray[0][1]の値は " + sarray[0][1] + " です。");
System.out.println("sarray[0][2]の値は " + sarray[0][2] + " です。");
System.out.println("sarray[1][0]の値は " + sarray[1][0] + " です。");
System.out.println("sarray[1][1]の値は " + sarray[1][1] + " です。");
// 1次元目の要素数を取得
int len = sarray.length;
// 表示
System.out.println("1次元目の要素の数は " + len + " です。");
// 1次元目の番号が0の2次元目の要素数を取得
len = sarray[0].length;
// 表示
System.out.println("1次元目の番号が0の2次元目の要素数は" + len + " です。");
// 1次元目の番号が1の2次元目の要素数を取得
len = sarray[1].length;
// 表示
System.out.println("1次元目の番号が1の2次元目の要素数は" + len + " です。");
}
}
|
|
| ■コンパイルと実行 |
| コマンドプロンプト |
| C:\JavaHello\Basic\Array>javac
Hairetsu2.java
C:\JavaHello\Basic\Array>java Hairetsu2
intarray[0][0]の値は 3 です。
intarray[0][1]の値は -23 です。
intarray[0][2]の値は 5 です。
intarray[1][0]の値は 16 です。
intarray[1][1]の値は 38 です。
intarray[1][2]の値は 21 です。
sarray[0][0]の値は One です。
sarray[0][1]の値は Two です。
sarray[0][2]の値は Three です。
sarray[1][0]の値は 1 です。
sarray[1][1]の値は 2 です。
1次元目の要素の数は 2 です。
1次元目の番号が0の2次元目の要素数は3 です。
1次元目の番号が1の2次元目の要素数は2 です。
C:\JavaHello\Basic\Array>
|
|
| おおお!2次元配列の値が表示されましたね! |
|
|
■書籍 Java関連の書籍 |
|
|
| |
|
| |
| ツールの部屋
- Java関連の書籍
- デザインパターン - 情報交換掲示板
- HOME |