Javaで配列に要素を追加する方法を現役エンジニアが解説【初心者向け】

初心者向けにJavaで配列に要素を追加する方法について解説しています。配列に要素を追加する場合にはSystemクラスのarraycopyメソッドを使います。処理の流れと実際の書き方を学びましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

Javaで配列に要素を追加する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

Javaについてそもそもよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Java講座の内容をもとに作成しています。

 

田島悠介

今回は、Javaに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

配列に要素を追加する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

配列とは

まずは、配列についてかんたんに説明します。「配列」というのは、通常の変数が1つにつき1つの値を保持するのに対して、1つを使って複数の値を保持することができるものです。

例えば、int型の配列の場合は、

[1, 2, 3, 4, 5]

のように複数の整数値を保持することができます。Javaにおける配列の宣言の方法は、

型名[] 変数名;

とします。配列に要素(保持できる値の数)を指定する場合は、

型名[] 変数名 = new 型名[要素数];

のようにして、要素数を指定します。要素を代入するには、

変数名[インデックス] = 値;

のようにして行ないます。もしくは、全体を一気に代入するためには、

変数名= {値1, 値2, 値3, ... };

のようにして、配列の長さと同じだけの要素を並べて中括弧{}に入れることで可能となります。

 

[PR] Javaで挫折しない学習方法を動画で公開中

配列に要素を追加する方法

配列についてかんたんに説明しましたが、要素がすべて埋まっている配列に、新しい要素を追加したい場合もあります。しかしながら、配列は一度長さを決めてしまったら、その長さを超えて要素を追加することができません。

そこで、配列に要素を追加する(ように見えるための)方法は、配列自体をコピーしてより長い配列に代入してしまうという方法があります。そのためには、Systemクラスのarraycopyメソッドを使います。

手順としては、

  1. コピーする前の配列を用意
  2. 追加したい要素の個数分だけ長い空の配列を用意
  3. arraycopyメソッドで、新しい配列にもとの配列をコピー
  4. 新しい配列の残りの部分に追加したい要素を代入

となっています。これをコードで書くと、

型名[] 古い配列 = {要素1, 要素2, 要素3, 要素4, 要素5, ...};

型名[] 新しい配列 = new 型名[もとの配列の長さ+追加したい要素の個数];

System.arraycopy(古い配列, 0, 新しい配列, 0, 古い配列の長さ);

新しい配列[インデックス] = 追加する値;

となります。

 

実際に書いてみよう

上で紹介した方法を使って配列に要素を追加してみましょう。今回は、整数型の配列に要素を追加していきます。

class ArrayAddSample{
        public static void main(String args[]){

                int[] oldArray = {1,2,3,4,5};
                 int[] newArray = new int[10];

                 System.arraycopy(oldArray, 0, newArray, 0, 5);
 
                 newArray[5] = 6;
                 newArray[6] = 7;
                 newArray[7] = 8;
                 newArray[8] = 9;
                 newArray[9] = 10;

                System.out.println("古い配列");
                 for(int i=0; i<5 ; i++){
                         System.out.println(oldArray[i]);
                 }

                System.out.println("新しい配列");
                 for(int i=0; i<10 ; i++){
                         System.out.println(newArray[i]);
                 }
         }
}

これを実行すると、

古い配列
1
2
3
4
5
新しい配列
1
2
3
4
5
6
7
8
9
10

と表示されるので、配列に要素を追加することができました。

 

まとめ

この記事では、Javaにおける配列に要素を追加する方法を紹介しました。

しかしながら、上で紹介したように、配列に要素を追加する場合には、単純な処理なのにコードが長く、かつ、わかりにくくなってしまいます。

なので、要素の追加などを行なうような場合には、別途List型というものを使ってみるとよいでしょう。

 

監修してくれたメンター

小倉翔悟 (おぐらしょうご)

AIプログラミングを使って開発を行う大学3年生。プログラミング歴は約3年。Pythonは割と好きな方。JavaもAndroid開発で触れていたりする。

大学では物理学を勉強中。好きな物理理論は一般相対性理論らしい。

意外と動物が好きだったり、、、。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは、初心者でも最短4週間で、JavaやServletの技術を使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

 

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。