カテゴリ: Java 更新日: 2026/01/02

Javaの配列に値を追加したいときはどうする?初心者向けに解説

Java の配列に値を追加したいときはどうする?
Java の配列に値を追加したいときはどうする?

新人と先輩の会話形式で理解しよう

新人

「先輩、Javaで配列に新しい値を追加したいときはどうすればいいんですか?」

先輩

「Java 配列は固定サイズなので、一度作った配列には直接値を追加できません。配列の要素数は宣言時に決まるため、新しい要素を追加する場合は別の方法が必要です。」

新人

「なるほど、だから配列を作った後に簡単に追加できないんですね。」

先輩

「そうです。Java 配列の特性を理解しておくと、追加方法や回避策がわかりやすくなります。」

1. Java 配列とは?

1. Java 配列とは?
1. Java 配列とは?

Java 配列は、同じ型の複数のデータを順番に保存できる構造です。整数型や文字列型など、同じ型の値を一つの箱にまとめて管理できます。配列を使うことで、同じ種類のデータを効率的に扱えるようになり、繰り返し処理も簡単に書けます。

例えば、整数型の配列を使うと複数の数値を一つにまとめて管理でき、文字列型の配列では複数の文字列を順番に保存して処理できます。配列は宣言と初期化の2ステップで作成します。


int[] numbers; // 配列の宣言
numbers = new int[3]; // 3つ分の整数型配列を初期化
numbers[0] = 10;
numbers[1] = 20;
numbers[2] = 30;

このように、配列を宣言してから初期化することで、各要素に値を代入できるようになります。

2. 配列の要素数と固定サイズの特徴

2. 配列の要素数と固定サイズの特徴
2. 配列の要素数と固定サイズの特徴

Java 配列は作成時に要素数を決める必要があります。一度初期化すると、その配列のサイズは固定され、後から要素を追加することはできません。例えばnew int[5]とした場合、この配列には5つの要素しか格納できず、それ以上の要素を追加することはできません。


int[] scores = new int[5];
scores[0] = 80;
scores[1] = 90;
scores[2] = 70;
scores[3] = 60;
scores[4] = 50;
// scores[5] = 100; // これはエラーになります

このように、固定サイズ 配列の特徴として、宣言後に直接追加することはできません。新しい要素を追加したい場合は、別の配列を作るか、リストなどの可変長データ構造を使う必要があります。

array 宣言や固定サイズ 配列の理解は、Java 配列を安全に扱う上で重要です。これを知らないと、後で追加操作をするときにエラーや意図しない結果が発生する可能性があります。

3. 新しい配列を作って値をコピーする方法

3. 新しい配列を作って値をコピーする方法
3. 新しい配列を作って値をコピーする方法

Java 配列に新しい値を追加する場合、一つの方法は既存の配列より大きい新しい配列を作り、元の配列の値をコピーすることです。元の配列の要素を新しい配列に移してから、新しい要素を末尾に追加します。これにより固定サイズ 配列でも値を追加したような操作が可能になります。


int[] oldArray = {10, 20, 30};
int[] newArray = new int[oldArray.length + 1];
for (int i = 0; i < oldArray.length; i++) {
    newArray[i] = oldArray[i]; // 元の配列の値をコピー
}
newArray[newArray.length - 1] = 40; // 新しい値を追加

この方法では、array コピーの考え方を理解しておくことが重要です。新しい配列を作ることで、元の配列のサイズ制限を回避できます。

4. System.arraycopyやArrays.copyOfを使った値の追加例

4. System.arraycopyやArrays.copyOfを使った値の追加例
4. System.arraycopyやArrays.copyOfを使った値の追加例

Javaでは、配列のコピーを簡単に行うためにSystem.arraycopyArrays.copyOfを使うことができます。これらを使うと、ループを使わずに配列の値を新しい配列にコピーして追加が可能です。


import java.util.Arrays;

int[] oldArray = {10, 20, 30};
int[] newArray = Arrays.copyOf(oldArray, oldArray.length + 1);
newArray[newArray.length - 1] = 40; // 新しい値を追加

また、System.arraycopyを使うと元の配列の一部だけを新しい配列にコピーすることもできます。効率的にarray コピーを行い、追加したい値を設定することが可能です。


int[] oldArray = {10, 20, 30};
int[] newArray = new int[oldArray.length + 2];
System.arraycopy(oldArray, 0, newArray, 0, oldArray.length);
newArray[3] = 40;
newArray[4] = 50;

このようにJava 配列のコピーを活用すると、固定サイズ 配列でも値を追加する操作を柔軟に行えます。

5. ArrayListなどリストを使う場合との違いと注意点

5. ArrayListなどリストを使う場合との違いと注意点
5. ArrayListなどリストを使う場合との違いと注意点

配列に値を頻繁に追加する場合は、ArrayListなどの可変長リストを使うのが便利です。ArrayListは必要に応じて自動的にサイズを拡張し、addメソッドで簡単に値を追加できます。


import java.util.ArrayList;

ArrayList<Integer> list = new ArrayList<>();
list.add(10);
list.add(20);
list.add(30); // 値を追加

ただし、ArrayListはオブジェクトを格納する構造なので、プリミティブ型の場合はラッパークラスを使用する必要があります。また、ArrayListと配列は内部構造やパフォーマンスが異なるため、用途に応じて使い分けることが重要です。Java 配列で追加したい場合は、コピーや拡張を意識する必要があります。

6. 配列に値を安全に追加するコツ

6. 配列に値を安全に追加するコツ
6. 配列に値を安全に追加するコツ

Java 配列に値を追加する際は、安全性を考慮することが重要です。まず、配列がnullでないか確認するnullチェックを行い、アクセスするインデックスが配列の範囲内かを確認します。これにより、NullPointerExceptionやArrayIndexOutOfBoundsExceptionを防げます。


int[] numbers = null;

// nullチェック
if (numbers != null && numbers.length > 0) {
    numbers[0] = 10;
}

新しい値を追加する場合も、必ず新しい配列のサイズを元の配列より大きく設定し、追加する位置が範囲内であることを確認します。array 安全な操作は、Java 配列を使いこなす上で欠かせません。

7. よくあるミスと回避方法

7. よくあるミスと回避方法
7. よくあるミスと回避方法

配列に値を追加するときによくあるミスとして、インデックス範囲外アクセスや型不一致があります。固定サイズ 配列では、宣言したサイズ以上の位置に値を設定すると例外が発生します。


int[] numbers = new int[3];
numbers[3] = 50; // ArrayIndexOutOfBoundsException

また、配列の型に一致しない値を代入するとコンパイルエラーになります。例えば、整数型配列に文字列を代入することはできません。Java 配列で追加操作を行う際は、型と範囲を常に意識しましょう。

これらの回避方法としては、必ず配列の長さを確認し、新しい値を追加する前に範囲チェックを行うことが基本です。また、ArrayListのような可変長リストを併用することで、頻繁な追加操作も安全に行えます。

8. 配列追加時の効率的な方法や注意点

8. 配列追加時の効率的な方法や注意点
8. 配列追加時の効率的な方法や注意点

固定サイズ 配列に値を追加する場合、新しい配列を作ってコピーする操作にはコストがかかります。要素が多い場合は、繰り返しコピーするとパフォーマンスが低下します。そのため、大量の追加が予想される場合は、ArrayListなどの可変長リストを使う方が効率的です。


ArrayList<Integer> list = new ArrayList<>();
for (int i = 0; i < 1000; i++) {
    list.add(i); // 自動的にサイズ拡張される
}

また、配列のコピー操作を行う場合は、System.arraycopyやArrays.copyOfを活用すると効率的に値を追加できます。Java 配列を使う場合は、サイズの確認、nullチェック、コピーのコストを意識し、安全かつ効率的に値を追加することが重要です。

配列の特性と制限を理解し、必要に応じてArrayListを併用することで、Java 配列の操作を安全かつ柔軟に行うことができます。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
Javaの引数とは?メソッドに値を渡す方法を初心者向けに徹底解説
Javaのメソッドを呼び出す書き方を完全解説!mainメソッドから実行する基本
Java のメソッドとは?基本の書き方を学ぼう
Javaの多次元配列(2次元配列)とは?初心者向けにわかりやすく解説
人気記事
No.1
Java&Spring記事人気No1
SQLのINSERT文を完全ガイド!初心者でもわかるデータの追加方法
No.2
Java&Spring記事人気No2
Spring Bootで学ぶ!セッションの有効期限(タイムアウト)設定の基礎
No.3
Java&Spring記事人気No3
HTMLのセレクトボックス(プルダウン)の使い方を完全ガイド!selectとoptionの基本を覚えよう
No.4
Java&Spring記事人気No4
Java のファイル構成を理解しよう(.javaと.class)|初心者向けにわかりやすく解説