コース一覧
    Java入門:配列とコレクション
    ArrayList を使う

    Java入門:配列とコレクション

    配列とコレクションの扱いを学び、複数のデータを安全に整理・検索・集計できるようにします。

    1
    配列
    01. 配列の基本5分
    02. 配列の要素にアクセス5分
    03. 配列を for で走査5分
    04. Javaで配列の合計・平均を求める方法(forループ)5分
    05. 配列の平均5分
    06. 配列の最大値5分
    07. 配列の線形探索12分
    08. 拡張 for ループ5分
    09. 配列クイズ5分
    10. 第 6 章 まとめクイズ5分
    2
    コレクション基礎
    01. ArrayList を使う5分
    02. List を走査する5分
    03. 要素の削除と検索5分
    04. HashMap の基本5分
    05. Map を走査する5分
    06. Set で重複を排除5分
    07. Collections クラスの便利メソッド5分
    08. コレクション基礎 まとめクイズ5分

    ArrayList を使う

    3 つ作った箱に、4 つ目が入らない

    配列は new String[3] と書いた時点で箱の数が決まります。あとから 4 つ目を足したくなったら、もっと大きい配列を作り直して中身を全部コピーするしかありません。ユーザーが何件入力するか分からない画面では、この作り直しが毎回ついて回ります。

    java.util.ArrayList は、その手間を肩代わりしてくれる伸び縮みするリストです。内部では大きめの配列を持っていて、足りなくなったら勝手に確保し直して引っ越します。使う側は add と書くだけで済みます。

    配列との違いは 2 つ覚えれば十分です。長さが固定か可変か、そして取り出し方が arr[0] か list.get(0) かです。

    import と山かっこを書かないと動かない

    Java

    import java.util.ArrayList;
    
    public class Demo {
        public static void main(String[] args) {
            ArrayList<String> tasks = new ArrayList<>();
            tasks.add("買い物");
            tasks.add("洗濯");
    
            System.out.println(tasks.size());  // 2
            System.out.println(tasks.get(0));  // 買い物
        }
    }

    ArrayList は java.util パッケージにいるので、ファイルの先頭に import java.util.ArrayList; が要ります。忘れると cannot find symbol で止まります。

    山かっこの <String> は「このリストには String しか入れない」という宣言です。整数を入れたいときは int ではなく Integer と書きます。右側の new ArrayList<>() は左側と同じ型になるので、山かっこの中は空のままで構いません。

    Java

    ArrayList<Integer> counts = new ArrayList<>();
    counts.add(10);   // 10 は自動で Integer に包まれる

    println に渡すと、中身がそのまま見える

    リストごと println に渡すと、決まった形で中身が出てきます。

    Java

    System.out.println(tasks);   // [買い物, 洗濯]

    これは toString() が呼ばれた結果です。角かっこで囲み、要素はカンマと半角スペースで区切る、という書式が決まっています。中身を目で確かめたいときに、要素を 1 つずつ取り出す必要はありません。

    つまずきやすいのは次の 2 つです。list[0] と書くとコンパイルエラーになります。角かっこの記法は配列専用なので list.get(0) を使ってください。もう 1 つは unexpected type found: int というエラーで、これはほぼ ArrayList<int> と書いたときのものです。落ち着いて Integer に直しましょう。

    課題では、受け取った引数を渡された順に add してから、リストを文字列にして返します。add した順がそのまま並び順になるので、順番を入れ替えると結果も変わります。同じ値を 2 回入れても弾かれず、そのぶん要素が増えます。

    要件

    1. ファイル先頭で import java.util.ArrayList; を書くこと
    2. ArrayList<Integer> を new ArrayList<>() で生成すること (raw 型は禁止)
    3. 引数 a b c の順で末尾に add し、最後に toString() の結果を return すること

    ヒント

    `ArrayList` の `toString()` は `[10, 20, 30]` のように `[` `]` で囲み、`, ` (カンマ + 半角スペース) で要素を区切ります

    整数を入れるリストなのでジェネリクスは `<Integer>` を指定します。`<int>` は文法エラーになります

    `list.add(a); list.add(b); list.add(c);` の **順序** が結果の並びを決めます。`add` 順を入れ替えると `toString()` の結果も入れ替わります

    生田 陸人
    監修生田 陸人
    ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
    編集 ゆめさく編集部·公開 2026/05/19·更新 2026/08/26

    関連レッスン

    • List を走査する

      ArrayList の中身を最初から最後まで順番に取り出す。インデックス for、拡張 for、Iterator の 3 つの走査方法を使い分けられるようになる。

    • 要素の削除と検索

      ArrayList から要素を消したり、目的のものが入っているかを確かめる方法を学ぼう。

    • HashMap の基本

      Java の `HashMap` を使って、キーと値のペアを保存し、商品名から価格を引き出すメソッドを作ろう。

    • Map を走査する

      Map をキーと値のペアでループする方法を学ぼう。entrySet / keySet / values の使い分けと、順序を保証する LinkedHashMap の使い方まで身につける。

    このレッスンに出てくる用語

    意味があいまいなまま進んだ語は、ここから読み直せます。

    • 配列サイズ固定の同型データの集まり
    • リスト順序付きで複数の値を扱うデータ構造
    • コンパイルソースをバイトコードへ変換する処理
    • 引数位置引数=順番で渡す。
    main.java
    エディタを読み込んでいます

    メモ

    ArrayList を使う

    ⌘S で保存