こんにちは、コイキングです。
本記事では'配列'について、説明したいと思います。
1.配列とは?
配列は同じデータ型の変数が順次的に格納されているような形のデータ構造です。
数が決まっている同じデータ型のデータを扱う時に配列が使われます。
2.配列の宣言と初期化
1) 配列の宣言
// データ型 [] 配列名;
int [] arrayInt;
2) 配列の初期化する(配列の長さを指定)
// 配列名 = new データ型 [長さ];
arrayInt = new int[3];
3) 配列の宣言と初期化を同時にする(配列の長さを指定)
// データ型 [] 配列名 = new データ型 [長さ];
String [] arrayStr = new String[3];
4) 配列の宣言と初期化を同時にし、配列にデータを入れて生成
- 方法1
// データ型 [] 配列名 = new データ型[]{要素1, 要素2, 要素3...}
char [] arrayChar = new char[] {'A','B','C'};
- 方法2
// データ型 [] 配列名 = {要素1, 要素2, 要素3...}
byte [] arrayByte = {1, 2, 3};
3. 配列に値を入力・出力する
配列の要素にアクセスするためにはインデクス(index)番号を知っておく必要があります。
配列の**インデクス番号は0から初めて'配列名[インデクス番号]'**のように配列の要素にアクセスできます。
System.out.println(arrayInt[0]); // 0 int配列の デフォルト値は0です。.
System.out.println(arrayInt[1]); // 0
System.out.println(arrayInt[2]); // 0
// 配列の各空間に値を代入
arrayInt[0] = 3;
arrayInt[1] = 2;
arrayInt[2] = 1;
// length配列の長さの値は入っている。
for (int i=0; i<arrayInt.length; i++) {
System.out.println("配列の["+i+"] 番目インデクスの要素の値 : "+ arrayInt[i]);
}
4. 多次元配列の宣言と初期化
多次元配列は**"データ型 [][] 配列名 = new [上位次元の長さ][下位次元の長さ];"**のように宣言と初期化ができます。
※ 5 * 5の大きさの2次元配列は以下のような空間がメモリーに割当されます。
[0,0][0,1][0,2][0,3][0,4]
[1,0][1,1][1,2][1,3][1,4]
[2,0][2,1][2,2][2,3][2,4]
[3,0][3,1][3,2][3,3][3,4]
[4,0][4,1][4,2][4,3][4,4]
1) 宣言と配列の長さを指定する
// データ型 [][] 配列名 = new [上位次元の長さ][下位次元の長さ];
int [][] MultiArrayInt1 = new int[5][5];
2) 宣言と初期化を同時にする
- 方法1
int [][] MultiArrayInt2 = new int[][] {
{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15}
};
- 方法2
int [][] MultiArrayInt3 = {
{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15}
};
4. 多次元配列に値入力・出力する
多次元配列の要素にアクセスするためには**'上位次元のインデクス番号'と'下位次元のインデクス番号'を知っておく**必要があります。
'配列名[上位次元のインデクス番号][下位次元のインデクス番号]'のように配列の要素にアクセスできます。
System.out.println(MultiArrayInt1[0][0]); // 0
System.out.println(MultiArrayInt1[0][1]); // 0
System.out.println(MultiArrayInt1[0][2]); // 0
MultiArrayInt1[0][0] = 3;
MultiArrayInt1[0][1] = 2;
MultiArrayInt1[0][2] = 1;
for (int i=0; i<MultiArrayInt1.length; i++) {
for (int j=0; j<MultiArrayInt1.length; j++) {
System.out.println("配列の ["+i+","+j+"] 番目 インデクスの要素の値 : "+ MultiArrayInt1[i][j]);
}
}
※ 例示コード
https://github.com/leeyoungseung/algorithmBasic/blob/master/algorithm/src/basic/B_07_Array.java
※ 韓国語のポストは以下のURLで確認できます。
https://koiking.tistory.com/79?category=1068655