配列

配列 の Java

24個の演習

配列について

Javaでは、配列は同じ型の複数の値を1つの構造にまとめて保存する方法です。他のデータ構造とは違い、配列は一度作成するとサイズを変更できません。要素はインデックスを使って配列に代入したり、配列から取り出したりできます。Javaの配列は0から始まるインデックスを使います。最初の要素のインデックスは0、2番目の要素のインデックスは1、といった具合です。

配列を初期化する標準的な構文は次のとおりです。

type[] variableName = new type[size];

typeは配列の要素の型で、プリミティブ型(例:int)でもクラス(例:String)でもかまいません。

sizeはこの配列が保持する要素の数です(後から変更することはできません)。配列を作成すると、要素はデフォルト値(通常は0、false、null)で初期化されます。

// Declare array with explicit size (size is 2)
int[] twoInts = new int[2];

配列は、配列の作成と値の設定を同時に行える省略記法でも定義できます。

// Two equivalent ways to declare and initialize an array (size is 3)
int[] threeIntsV1 = new int[] { 4, 9, 7 };
int[] threeIntsV2 = { 4, 9, 7 };

この場合、コンパイラーが配列の要素数を判断できるため、長さは省略できます。

配列の要素は、角括弧([])を使ったインデックス記法で代入したり参照したりできます。

// Assign second element by index
twoInts[1] = 8;

// Retrieve the second element by index and assign to the int element
int secondElement = twoInts[1];

配列の有効なインデックスの範囲外にアクセスすると、IndexOutOfBoundsExceptionが発生します。

配列は、配列インスタンスのメソッドやプロパティを呼び出すか、Arraysクラスで定義されている静的メソッドを使うことで操作できます(静的メソッドは通常、ジェネリックコードでのみ使われます)。lengthプロパティには配列の長さが入っています。次のようにアクセスできます。

int arrayLength = someArray.length;

Javaには、配列関連の便利なメソッドをたくさん備えたユーティリティクラスjava.util.Arraysも用意されています(例:Arrays.equals)。

Javaは、int[][] arr = new int[3][4];のような多次元配列もサポートしており、とても便利です。

配列は_コレクション_でもあるため、インデックスで値を参照するだけでなく、for-eachループを使って_すべての_値を繰り返し処理することもできます。

char[] vowels = { 'a', 'e', 'i', 'o', 'u' };

for(char vowel: vowels) {
    // Output the vowel
    System.out.print(vowel);
}

// => aeiou

どの値を繰り返し処理するかをより細かく制御したい場合は、forループを使います。

char[] vowels = { 'a', 'e', 'i', 'o', 'u' };

for (int i = 0; i < 3; i++) {
    // Output the vowel
    System.out.print(vowels[i]);
}

// => aei
GitHubで編集 リンクは新しいウィンドウまたはタブで開きます

配列を学習する