【java入門】javaの配列とは?基本の宣言方法まで解説!

java初心者必見!配列とは?

Javaの配列は、同じ型の複数の要素を格納するためのデータ構造です。
配列は固定サイズであり、要素の型はすべて同じでなければなりません。

この記事では、Javaの配列の基本的な概念から操作方法を解説します。

目次

Javaの配列とは?サイズ指定はどうやる?

配列は、同じ型の複数の要素を1つの変数名の下に連続して格納する方法です。
配列は固定長であり、宣言時に要素の数を指定する必要があります。

固定長:固定長(Fixed Length)とは、あるデータ構造やリソースのサイズが事前に定義され、そのサイズを変更できない状態を指します。


たとえば、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での配列の取り扱いに慣れていきましょう。

目次