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};
→ int
やdouble
などの基本データ型をそのまま扱いたいときは、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」「プリミティブ型を使いたい」場合に限って使うと良いでしょう。
今後の学習の道筋
次は、以下のステップで理解を深めていきましょう!
- ArrayListの基本操作(add/remove/indexOfなど)
- for文と拡張for文による走査の違い
- 配列とArrayListの相互変換(
toArray()
とArrays.asList()
) - LinkedListとの違いも抑えておくと、さらに理解が深まります!
セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク
投稿者プロフィール

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