カテゴリ: Java 更新日: 2025/10/14

JavaのArrayListクラスの使い方を完全ガイド!初心者でもわかるリスト操作

ArrayListクラス
ArrayListクラス

先生と生徒の会話形式で理解しよう

生徒

「先生、Javaで配列みたいにデータをまとめて扱う方法はありますか?」

先生

「Javaにはjava.utilパッケージに含まれているArrayListクラスがあって、可変長の配列として使える便利な仕組みがあります。」

生徒

「配列と違うんですか?」

先生

「はい、配列は大きさを最初に決める必要がありますが、ArrayListなら必要に応じて要素を追加したり削除したりできますよ。」

1. ArrayListクラスとは?

1. ArrayListクラスとは?
1. ArrayListクラスとは?

JavaのArrayListクラスは、動的にサイズを変更できるリストを提供する便利なクラスです。java.utilパッケージに含まれており、配列のように複数のデータを順番に格納できます。配列と違ってサイズを気にせずデータを追加できるため、実務や学習の場面で頻繁に使われています。

2. ArrayListの基本的な使い方

2. ArrayListの基本的な使い方
2. ArrayListの基本的な使い方

ArrayListを利用するには、まずインポートしてからオブジェクトを作成します。以下の例では文字列を格納するリストを作成しています。


import java.util.ArrayList;

public class ArrayListExample {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("りんご");
        list.add("みかん");
        list.add("ぶどう");
        System.out.println(list);
    }
}

[りんご, みかん, ぶどう]

このようにaddメソッドを使えば、簡単に要素を追加できます。

3. 代表的なメソッド

3. 代表的なメソッド
3. 代表的なメソッド

ArrayListには多くの便利なメソッドがあります。代表的なものを紹介します。

  • add(E e):要素を追加する
  • get(int index):指定した位置の要素を取得する
  • set(int index, E element):要素を置き換える
  • remove(int index):指定した位置の要素を削除する
  • size():要素数を返す
  • contains(Object o):指定した要素が含まれているか調べる
  • isEmpty():リストが空かどうかを確認する
  • clear():すべての要素を削除する

4. getとsetの使い方

4. getとsetの使い方
4. getとsetの使い方

getメソッドを使えば指定した位置の要素を取り出せます。setメソッドを使えば上書きも可能です。


import java.util.ArrayList;

public class GetSetExample {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("りんご");
        list.add("みかん");
        list.add("ぶどう");
        System.out.println(list.get(1)); // みかん
        list.set(1, "バナナ");
        System.out.println(list);
    }
}

みかん
[りんご, バナナ, ぶどう]

5. removeとclearの違い

5. removeとclearの違い
5. removeとclearの違い

removeは指定した要素だけを削除しますが、clearはすべての要素を削除します。


import java.util.ArrayList;

public class RemoveClearExample {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("りんご");
        list.add("みかん");
        list.add("ぶどう");
        list.remove(1);
        System.out.println(list);
        list.clear();
        System.out.println(list);
    }
}

[りんご, ぶどう]
[]

6. containsとisEmptyの使い方

6. containsとisEmptyの使い方
6. containsとisEmptyの使い方

containsは要素が含まれているかどうかを調べます。isEmptyはリストが空かどうかを確認します。


import java.util.ArrayList;

public class ContainsIsEmptyExample {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("りんご");
        System.out.println(list.contains("りんご")); // true
        System.out.println(list.isEmpty()); // false
    }
}

7. ArrayListのサイズを確認する

7. ArrayListのサイズを確認する
7. ArrayListのサイズを確認する

sizeメソッドを使うと要素数を簡単に確認できます。


import java.util.ArrayList;

public class SizeExample {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("りんご");
        list.add("バナナ");
        System.out.println("要素数: " + list.size());
    }
}

8. ArrayListとforループ

8. ArrayListとforループ
8. ArrayListとforループ

ArrayListの要素はforループで順番に取り出せます。


import java.util.ArrayList;

public class LoopExample {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("りんご");
        list.add("バナナ");
        list.add("ぶどう");
        for (String fruit : list) {
            System.out.println(fruit);
        }
    }
}

9. ArrayListと配列の違い

9. ArrayListと配列の違い
9. ArrayListと配列の違い

配列はサイズ固定ですが、ArrayListは可変長で柔軟に要素を追加削除できます。また、ArrayListは多くの便利なメソッドが備わっており、実務での開発効率を大幅に高めます。初心者のうちは配列との違いを意識しながら使うと理解が深まります。

10. 注意点と応用

10. 注意点と応用
10. 注意点と応用

ArrayListはスレッドセーフではないため、マルチスレッド環境ではCollections.synchronizedListでラップするか、CopyOnWriteArrayListを使うことを検討しましょう。また、大量のデータを扱う場合はパフォーマンスへの影響も考える必要があります。

まとめ

まとめ
まとめ

今回の記事ではJavaのArrayListクラスの基本から応用までを詳しく学びました。ArrayListはjava.utilパッケージに含まれている代表的なコレクションクラスであり、可変長のリストを扱えるため初心者が最初に覚えるべき便利な仕組みです。配列との大きな違いはサイズを自由に変更できる点であり、addメソッドを使って要素を増やしたり、removeメソッドで削除したり、さらにsetメソッドで上書きすることも可能です。forループや拡張for文と組み合わせることで、効率的にデータを取り扱うことができるため、実務のシステム開発や学習用のプログラムにおいて必須の知識となります。

また、containsメソッドで特定の要素が含まれているかを調べたり、isEmptyで空かどうかを確認できるなど、初心者でも理解しやすい便利な機能が揃っています。特にsizeメソッドを活用すれば現在の要素数を簡単に確認できるため、データ処理を行う際に非常に役立ちます。さらに、clearメソッドを使えばすべての要素を一度に削除できるため、繰り返しテストや初期化が必要なケースでも効率的に使えます。配列との違いを意識しながら学ぶことで、Javaのコレクションフレームワークに自然に馴染めるようになります。

さらに実務の場面では、ArrayListを使う際にスレッドセーフではないことに注意し、必要に応じてCollections.synchronizedListやCopyOnWriteArrayListを使うことが重要です。大量データを扱う場合にはパフォーマンスの影響を考えることも欠かせません。基礎を理解したうえで、用途に応じて適切に活用できればJavaの開発力は大きく向上します。

サンプルプログラムでの振り返り

最後に今回学んだ内容を簡単なプログラムで振り返ってみましょう。ArrayListに要素を追加し、削除し、ループで出力する基本的な流れをまとめています。


import java.util.ArrayList;

public class SummaryExample {
    public static void main(String[] args) {
        ArrayList<String> fruits = new ArrayList<>();
        fruits.add("りんご");
        fruits.add("みかん");
        fruits.add("ぶどう");
        System.out.println("初期リスト: " + fruits);

        fruits.remove("みかん");
        System.out.println("削除後リスト: " + fruits);

        for (String fruit : fruits) {
            System.out.println("要素: " + fruit);
        }
    }
}

初期リスト: [りんご, みかん, ぶどう]
削除後リスト: [りんご, ぶどう]
要素: りんご
要素: ぶどう

このようにシンプルな使い方を繰り返すことで、自然とArrayListクラスの特徴や便利さを理解できるようになります。

先生と生徒の振り返り会話

生徒

「先生、ArrayListを使うと配列よりも柔軟にデータを扱えることがよくわかりました。追加や削除が簡単でした。」

先生

「そうですね。特に要素数が変動する場面ではArrayListがとても便利です。ゲームのデータ管理やWebアプリのユーザーリストなど、現場でもよく使われますよ。」

生徒

「getやsetで要素を取り出したり変更したりできるのも便利でした。配列よりも直感的に書ける気がします。」

先生

「その通りです。初心者のうちはまずArrayListをマスターすることで、他のコレクションにも応用できるようになりますよ。」

生徒

「今度はLinkedListやHashMapも勉強してみたいです。Javaのコレクションって奥が深いですね。」

先生

「良い流れですね。ArrayListを理解できたことは大きな一歩です。次の学習にも必ず役立ちますよ。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

JavaのArrayListと配列の違いは何ですか?

ArrayListは可変長で要素の追加や削除が自由にでき、便利なメソッドが多く用意されています。一方、配列はサイズ固定で柔軟性がなく、初心者でもArrayListを使ったほうが学習しやすいです。
カテゴリの一覧へ
新着記事
Springの@Transactional徹底解説!トランザクションの伝播・分離レベル・タイムアウトの基本
JavaのHashMapクラスgetメソッドの使い方を完全ガイド!初心者でもわかるjava.util入門
Thymeleafのth:fragmentを使ったテンプレートの再利用方法を完全ガイド!初心者でもわかる使い方
Javaの@PathVariableアノテーションの使い方を徹底解説!初心者でもわかるパスパラメータの基本と応用
人気記事
No.1
Java&Spring記事人気No1
Javaのラムダ式で配列を扱う!Arrays.streamの基本と注意点を初心者向けに解説
No.2
Java&Spring記事人気No2
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.3
Java&Spring記事人気No3
JavaのRuntimeExceptionを完全解説!初心者でもわかるjava.langパッケージの基礎
No.4
Java&Spring記事人気No4
JavaのIntegerクラスの使い方を完全ガイド!初心者でもわかる整数操作
No.5
Java&Spring記事人気No5
JavaのBigDecimalクラスcompareToメソッド完全ガイド!初心者でもわかる大小比較の基本
No.6
Java&Spring記事人気No6
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.7
Java&Spring記事人気No7
JavaのHttpSessionを徹底解説!初心者でもわかるセッション管理の基本
No.8
Java&Spring記事人気No8
Javaの@SuppressWarningsアノテーションの使い方を完全ガイド!初心者でもわかる警告の抑制方法