Javaの配列は、同じ型の複数の要素を格納するためのデータ構造です。
配列は固定サイズであり、要素の型はすべて同じでなければなりません。
この記事では、Javaの配列の基本的な概念から操作方法を解説します。
Javaの配列とは?サイズ指定はどうやる?
配列は、同じ型の複数の要素を1つの変数名の下に連続して格納する方法です。
配列は固定長であり、宣言時に要素の数を指定する必要があります。
たとえば、int
型の配列を宣言するには次のようにします。
int[] numbers = new int[5];
この場合、numbers
という名前のint
型の配列が宣言され、5つの要素を格納できることが指定されています。

なるほど、配列って複数のデータを一度に扱えるんですね。
でも、なぜ固定長なんですか?



配列はメモリ上に連続した領域を確保するため、
初期化時にサイズを指定する必要があります。
後からサイズを変更することはできません。
Javaの配列の要素にアクセスする方法
配列の要素には、インデックスを使ってアクセスします。
インデックスは0から始まり、配列の要素数より1少ない数までの範囲を取ります。
int[] numbers = {1, 2, 3, 4, 5};
int secondElement = numbers[1]; // インデックス1の要素にアクセス



インデックスって何ですか?なぜ0から始まるんですか?



インデックスは要素の位置を指定する番号です。
Javaでは、配列の最初の要素が0番目になります。
Javaの配列の操作(長さの取得・要素の追加削除)
配列の長さを取得したり、要素を追加・削除する方法を解説します。
javaの配列の長さを取得する(lengthプロパティ)
配列の長さ(要素の数)は、length
プロパティを使用して取得できます。
int[] numbers = {1, 2, 3, 4, 5};
int length = numbers.length; // 長さを取得



なるほど、長さを取得するにはそのプロパティを使うんですね。
これってどうしてlength
なんですか?



length
は配列のプロパティで、配列の要素の数を返します。
Javaの配列の要素を追加する
Javaの配列は固定サイズなので、通常の配列では要素の追加はできません。
要素を追加したい場合は、動的なデータ構造を使用する必要があります。



要素を追加できないんですか?どうしたらいいですか?



Javaの配列は固定サイズですから、要素を追加するには新しい配列を作成して古い配列の要素をコピーする必要があります。しかし、これは手間がかかる作業です。要素を追加する必要がある場合は、ArrayListなどの動的なデータ構造を使用することをお勧めします。
javaの配列の反復処理(forループ)
配列の要素を反復処理する方法について解説します。
forループを使って配列の要素を順番に処理する方法を紹介します。
int[] numbers = {1, 2, 3, 4, 5};
for (int i = 0; i < numbers.length; i++) {
System.out.println(numbers[i]);
}



このfor
ループの書き方はどういう意味ですか?



for
ループは、指定した条件が満たされている間、繰り返し処理を行います。
この例では、i
が0から始まり、numbers
配列の長さ未満である限り繰り返し、numbers[i]
を出力します。
Javaの拡張forループを使用した反復処理
拡張forループを使うと、配列の要素を簡潔に処理することができます。
int[] numbers = {1, 2, 3, 4, 5};
for (int num : numbers) {
System.out.println(num);
}



このfor
ループは、普通のfor
ループと違いますね。どういう意味ですか?



拡張forループは、配列やコレクションの要素を順番に取り出して処理するための構文です。この例では、numbers
配列の要素が順番にnum
に代入され、それを出力しています。コードが簡潔になるので便利ですね。
Javaの配列の一般的な問題と解決方法
配列を使用する際によく発生する問題とその解決方法について説明します。
Javaの配列の要素を並び替える(ソート)
配列の要素を昇順または降順に並び替える方法を解説します。
int[] numbers = {3, 1, 4, 1, 5, 9, 2, 6};
Arrays.sort(numbers); // 昇順に並び替え



配列の要素を並び替える方法はありますか?



はい、JavaではArrays.sort()
メソッドを使用して配列を昇順に並び替えることができます。
Javaの配列の要素を検索する
配列の中から特定の要素を検索する方法を解説します。
int[] numbers = {3, 1, 4, 1, 5, 9, 2, 6};
int index = Arrays.binarySearch(numbers, 5); // 5を検索



特定の要素を探すにはどうしたらいいですか?



Arrays.binarySearch()
メソッドを使用すれば、配列内で指定した要素を効率的に検索できます。ただし、事前に配列がソートされている必要があります。
本記事に対するまとめ
この記事では、Javaの配列の基本的な使い方を解説しました。配列の宣言から要素へのアクセス、操作方法までを理解することで、配列を効果的に活用できるようになるでしょう。また、配列の限界と動的なデータ構造の利点についても触れました。これを参考にして、Javaでの配列の取り扱いに慣れていきましょう。