スライドショースライドショー

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

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

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

配列に値を追加する方法

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

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

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といった具合にそれぞれの基本形に対応するクラスを使いましょう!

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

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

【Java入門】配列の使い方総まとめ(宣言、初期化、追加、要素数)
更新日 : 2019年7月29日

まとめ

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

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

LINEで送る
Pocket

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

オータケ

オータケ

30歳、フリーランスプログラマ。中学の頃よりプログラミングに興味を持ちゲーム開発やWebサイト構築などを経験
新しいフレームワークやライブラリに興味があり革新的な機能が含まれていると泣いて喜ぶ。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説