ブログ

Java配列の使い方を徹底解説|宣言・初期化・追加までわかりやすく解説

Java配列の使い方を徹底解説|宣言・初期化・追加までわかりやすく解説

目次

※この記事にはプロモーションを含みます

WEBMASTERSのトップページへ

はじめに

Java を学び始めた人が最初に直面する壁のひとつが配列の理解です。

複数のデータをまとめて扱える便利な仕組みですが、宣言方法や初期化のルール、さらには要素の追加ができない仕様など、つまずきやすいポイントが多いのも事実です。

本記事では、配列の基本構造から実践的な操作、さらに多次元配列や代替手段までを、わかりやすく整理して解説します。
Java の配列を理解することで、データ処理の基礎力が格段に向上します。

Java 配列とは?

配列の基本概念と役割

配列(Array)とは、同じ型のデータを一括管理するためのデータ構造です。

たとえば「整数を 10 個まとめて扱いたい」といった場合に便利で、同じ型の要素を連続したメモリ領域に格納します。

Java配列の特徴

このように、配列は大量データを一元管理し、反復処理を容易にするための基礎です。

配列が必要とされる理由

配列がなければ、同じ型の変数を何十個も用意する必要があり、コードの可読性が低下します。
配列を使えば、for 文や拡張 for 文(for-each 文)で効率的に処理が可能です。

また、データの検索・集計・比較などのアルゴリズムの基礎構造としても活用されます。

Java 配列の宣言と初期化

配列の宣言方法と文法

Java の配列は、以下のように宣言します。

int[] scores;
scores = new int[5];

または、宣言と初期化を同時に行うこともできます。

int[] scores = new int[5];

ポイントは、型名[] 変数名の形式で宣言することです。
角括弧の位置を後ろにしても動作しますが、一般的には前に置く方が推奨されます。

初期化の書き方と注意点

配列は宣言しただけでは要素が未定義状態のため、初期値が自動的に代入されます。

プリミティブ型では「0」または「false」、参照型では「null」がデフォルトです。

int[] scores = {80, 90, 70};

このように 中括弧 {} を使えば、初期値をまとめて設定できます。 ただし、宣言と同時にしか使用できない点に注意しましょう。

配列への要素追加と変更

要素の追加ができない理由

Java の配列は、「最初に決めた大きさをあとから変えられない」 仕組みになっています。 そのため、あとで要素を増やしたくなっても、直接追加することはできません。

新しいデータを入れたい場合は、 新しい配列を作り直して、元の配列の中身をコピーする必要があります。

ポイント

  • 配列は最初に決めたサイズで固定
  • あとから要素を増やすことはできない
  • 新しい配列を作ってコピーし直すことで実質的に「追加」する

代替手段(ArrayList)の紹介

可変長のデータ構造を扱いたい場合は、ArrayList を利用します。
ArrayList はリスト型コレクションで、add() メソッドを使うことで自由に要素を追加できます。

ArrayList<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");

このように、ArrayList は動的なデータ操作に適しており、配列の弱点を補う存在です。

多次元配列の使い方

二次元配列の宣言と初期化

二次元配列は、配列の中に配列を持つ構造です。 たとえば、表(行と列) のようなデータをまとめて扱いたいときに使います。

int[][] matrix = new int[3][3];

この書き方は「3 行 ×3 列の枠を用意する」という意味です。
あらかじめ中身を決めておきたい場合は、次のように書けます。

int[][] matrix = {
  {1, 2, 3},
  {4, 5, 6},
  {7, 8, 9}
};

こうすると「1 行目は 1・2・3」「2 行目は 4・5・6」というように、表の形でデータを管理できます。

多次元配列を扱う際の注意点

多次元配列を使うときは、どの行・どの列を指定しているかを間違えないように注意しましょう。
インデックス(位置を表す番号)は、行 → 列の順に指定します。

// 1行2列目の値を取り出す
int value = matrix[0][1];

また、行ごとに要素数が違う 「ジャグ配列」 という形もあります。
これは「1 行目は 3 つ、2 行目は 2 つ、3 行目は 1 つ」など、行の長さがバラバラな配列のことです。

int[][] jagged = {
  {1, 2, 3},
  {4, 5},
  {6}
};

このような配列を使うときは、どの行にいくつ要素があるかを確認しておくことが大切です。

多次元配列を扱う際のポイント

配列操作の実践コード例

ループと配列を組み合わせた処理

配列の中に入っているすべてのデータを順番に使いたいときは、「for 文」というくり返し処理を使います。
たとえば、テストの点数をまとめて表示したいときは次のように書けます。

int[] scores = {70, 80, 90};

// 配列の中身を順番に表示
for (int i = 0; i < scores.length; i++) {
  System.out.println(scores[i]);
}

このコードでは、

  • i が配列の番号(インデックス)を表す
  • scores[i] で、その番号の中身を取り出す

という動きをします。
つまり、配列の 1 番目から順番に処理していくしくみです。

また、拡張 for 文(for-each 文) を使えばコードがさらに簡潔になります。

for (int s : scores) {
  System.out.println(s);
}

配列コピーと System.arraycopy の使い方

配列の内容を別の配列にコピーするには、System.arraycopy() を使用します。

int[] src = {1, 2, 3};
int[] dest = new int[3];
System.arraycopy(src, 0, dest, 0, src.length);

これにより、高速かつ安全にデータコピーが可能です。
また、Java 8 以降では Arrays.copyOf()も利用できます。

まとめ

Java の配列は、プログラミングの基礎を支える重要な概念です。
宣言・初期化・操作・多次元配列までを理解することで、より柔軟なデータ処理が可能になります。

ポイントを整理すると次の通りです。

Java配列の基本ポイントまとめ

配列操作を自在に使いこなすためには、コードを書いて試すことが何よりの近道です。

より実践的に学びたい方は、WEBMASTERS のカリキュラムがおすすめです。
現役エンジニアの指導のもと、配列だけでなくコレクション操作やアルゴリズム設計まで基礎から段階的に学ぶことができます。

関連記事