Java初心者必見!配列とArrayListはどう使い分ける?状況別の選び方を徹底解説

こんにちは。ゆうせいです。

「配列(Array)とArrayListって、どっちを使えばいいの?」
Javaを学び始めると、こんな疑問が浮かんできますよね。

今回は、配列とArrayListの違いと使い分けのコツ(勘所)を、例えや図を交えながら、やさしく丁寧に解説していきます!


配列(Array)とArrayListの基本的な違い

特徴配列(Array)ArrayList
サイズ変更不可(固定)可(可変)
プリミティブ型もOK(int[]など)オブジェクト型のみ(Integerなど)
処理速度高速やや遅い(内部で配列コピーがある)
機能少ない豊富(追加・削除・検索など)
書き方の自由度制限あり柔軟

配列を使うべきタイミング

1. サイズが決まっているとき

int[] scores = new int[5];

→ 要素数があらかじめわかっていて、変更の必要がない場合は配列がシンプルです。

2. プリミティブ型を使いたいとき

double[] weights = {60.5, 62.0, 58.7};

intdoubleなどの基本データ型をそのまま扱いたいときは、ArrayListでは使えないので配列が便利です。

注意:ArrayListではintを使えないため、代わりにIntegerを使う必要があります。


ArrayListを使うべきタイミング

1. 要素の追加・削除があるとき

List<String> names = new ArrayList<>();
names.add("Yusei");
names.remove("Yusei");

→ ArrayListはサイズ変更が自由なので、柔軟に扱えます。

2. 初期値があって、変更もしたいとき

List<String> fruits = new ArrayList<>(Arrays.asList("りんご", "みかん", "バナナ"));

→ 書きやすくて見やすい!

3. コレクションAPIと連携したいとき

Collections.sort(fruits);

→ 並び替えや検索など、便利なツールとセットで使うことができます。


例えで理解する:文房具入れ vs. 筆箱

  • 配列:学校の筆箱のようなもの
    → 仕切りが決まっていて、入る数も決まっている。文房具の種類も決まっている。
  • ArrayList引き出し付きの収納ケース
    → 必要に応じて仕切りを追加したり減らしたりできる。柔軟に使えるけど少しだけ手間はかかる。

どちらを使うべきか?判断のポイント(勘所)

判断軸配列ArrayList
サイズが固定か?はいいいえ
基本型を扱う?はいいいえ
要素を頻繁に追加・削除する?いいえはい
パフォーマンス重視?はいいいえ
コレクションAPIを使う?いいえはい

まとめ

迷ったときは、まずArrayListを選んでOKです!

配列は「性能を最優先したい」「固定サイズでOK」「プリミティブ型を使いたい」場合に限って使うと良いでしょう。


今後の学習の道筋

次は、以下のステップで理解を深めていきましょう!

  1. ArrayListの基本操作(add/remove/indexOfなど)
  2. for文と拡張for文による走査の違い
  3. 配列とArrayListの相互変換toArray()Arrays.asList()
  4. LinkedListとの違いも抑えておくと、さらに理解が深まります!

セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。