Java の配列

Java の配列とは?

配列 (array) とは、同じデータ型のデータを複数格納するコンテナです。

配列の型は「型」に [] をつけて、 型 [] という形で宣言します。

配列内に格納できる要素数は固定です。例えば、「5個の整数を格納する配列」 は次のように定義できます。

int[] a = new int[5];

配列の要素には添字 (インデックス) でアクセスする

配列内の要素には添字 (インデックス) でアクセスできます。

要素内の1番目の要素はインデックス [0]、2番目の要素はインデックス [1]、・・・ のように、 n 番目の要素には [n-1] というインデックスでアクセスできます。

次のコード例では、3個の整数を格納できる整数の配列を用意し、 それに、1番目の要素から順に1、2、3 を格納し、 それを逆に、3、2、1 という風に順番にその要素の中身を出力します。

public class TestApp {
    public static void main(String[] args) {
        int[] a = new int[3];
        a[0] = 1;
        a[1] = 2;
        a[2] = 3;
        System.out.println(a[2]);
        System.out.println(a[1]);
        System.out.println(a[0]);
    }
}

実行結果は次のとおりです。

3
2
1

配列のインデックスアクセスでの注意点

よくある間違いは、存在しない要素にアクセスしてしまうことです。

例えば、配列の要素を3個用意すると、 インデックスは0から始まりますから、使えるインデックスは 0, 1, 2 の3個です。

例えば、上のコード例では a という名前の配列に3個の値を代入していますが、 存在しない4個目の要素 a[3] に値を格納してしまい、次のように書いたとします。

a[3] = 4;

このような誤ったコードを書いた場合、コンパイルはされるのですが、実行時に次のような例外が発生してしまいます。

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3
	at com.keicode.java.test.TestApp.main(TestApp.java:9)

このようなメッセージが表示された場合、配列のインデックスに誤りがありますので、プログラムをデバッグしてください。

配列の宣言と初期化を同時に行う

次の書き方で、配列の宣言と初期化を同時に行うこともできます。

型 [] 変数名 = { 初期化データリスト};

この方法を使って、上のコードを書き換えると次のようになります。

public class TestApp {
    public static void main(String[] args) {
        int[] a = {1, 2, 3};
        System.out.println(a[2]);
        System.out.println(a[1]);
        System.out.println(a[0]);
    }
}

配列の操作用クラス java.util.Arrays

配列はデータそのものであって、要素を操作するためのメソッドなどを含んでいません。

配列のデータを特定の値で埋めたり、コピーしたり、配列からリストを作成したりといった、様々な操作を行うために、 Java の標準ライブラリに java.util.Arrays クラスが用意されています。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Java 入門