【5分でわかる】Javaで配列に値を追加する方法をわかりやすく解説

Javaの配列に値を追加する方法はいくつか存在します。また、リストを使って値を追加する方法も同時に解説しています。

この記事を見れば配列とArrayList(コレクション)に対して値を追加する方法をわかりやすく解説します!

なお、Javaの記事については、こちらにまとめています。

目次

配列に値を追加する方法

通常の配列(固定長の配列)に値を追加する方法

固定長の配列には値を追加するという方法がありません。その代わりに追加したい分だけ配列の要素数を大きくした配列を別途用意し、値をコピーして使うという方法を取ります。

int[] foo = new int[10]; // 元の配列
int[] bar = new int[15]; // データを5個追加したい場合に用意する配列

System.arraycopy(foo, 0, bar, 0, 10);

これでfooの中身がbarにコピーされます。上記の場合だと配列fooの値を先頭からコピーしているため配列barの後ろ5つの要素に入れたい値を入れて使うという事になります。

しかし、この方法はオススメできません。何故かと言うと今回の例では配列の要素数が10や15などの小さい要素数でしたがこれがもっと大きな数となるとコピーするために無駄なメモリを確保する必要が出てくるためオススメできません。

さらに値を追加したいという単純な話なのにわざわざ、別途配列を用意して値をコピーしてコピーした後ろの位置に追加したい値を代入していくというフローがとても面倒でわかりづらいです。

こういった問題もあるため配列のサイズが変わる可能性がある場合(可変長)や配列の操作を簡単に行いたい場合はArrayListを使うことをおすすめします。

コレクション(ArrayList)に値を追加する方法

先程の項目で触れたArrayListを使い値を追加するとどのような書き方をする必要があるかを解説したいと思います。

ArrayList<Integer> hoge = new ArrayList<Integer>();
hoge.add(1);
hoge.add(2);
hoge.add(3);

たった、これだけで配列に値が追加できます。上記の例ですと配列の末尾に値が追加されていきます。

また、配列の方が「int」ではなく「Integer」となっていますが、ArrayListでは基本型(プリミティブ型)といった方が指定できないというルールがあります。intを使いたい場合はIntegerを、floatを使いたい場合はFloatといった具合にそれぞれの基本形に対応するクラスを使いましょう!

配列についてもっと詳しく知りたい!

配列についてもっと知りたい方はこちらもご覧ください!

まとめ

いかがだったでしょうか。

固定長の配列に値を追加する方法は紹介させていただきましたがとても面倒でプログラムを組む上でもあまりオススメできません。極力ArrayListを使うと配列の操作がとても楽になるのではないかと思います!

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次