カテゴリ: Java 更新日: 2025/06/03

JavaのArrayListクラスとsortメソッドを完全解説!初心者でもわかるリストの並べ替え

sortメソッド
sortメソッド

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

生徒

「Javaでリスト内の要素を並べ替える方法ってありますか?」

先生

「はい、ArrayListクラスで要素を並べ替えるには、sortメソッドを使います。昇順や降順など、好きな順序で並べ替えられますよ。」

生徒

「好きな順序に並べ替えられるんですね!具体的にどうやって使うんですか?」

先生

「それでは、sortメソッドの基本的な使い方を見ていきましょう!」

1. ArrayListクラスとは?

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

ArrayListは、Javaのコレクションフレームワークに属するクラスで、動的なサイズのリストを提供します。このクラスを使うことで、要素の追加や削除、並べ替えなど柔軟な操作が可能です。

以下は、ArrayListの基本的な使用例です。


import java.util.ArrayList;

public class ArrayListExample {
    public static void main(String[] args) {
        ArrayList<String> items = new ArrayList<>();
        items.add("Cherry");
        items.add("Apple");
        items.add("Banana");

        System.out.println("リストの内容: " + items);
    }
}

このコードでは、ArrayListを使用してリストを作成し、要素を追加しています。

2. sortメソッドとは?

2. sortメソッドとは?
2. sortメソッドとは?

sortメソッドは、リストの要素を並べ替えるためのメソッドです。このメソッドは、Comparatorを引数に取ることで、任意の順序で並べ替えを行えます。

以下は、sortメソッドを使用した基本的な例です。


import java.util.ArrayList;
import java.util.Collections;

public class SortMethodExample {
    public static void main(String[] args) {
        ArrayList<String> items = new ArrayList<>();
        items.add("Cherry");
        items.add("Apple");
        items.add("Banana");

        // 昇順に並べ替え
        Collections.sort(items);

        System.out.println("昇順に並べ替えたリスト: " + items);
    }
}

このコードでは、Collections.sortを使用してリスト内の要素を昇順に並べ替えています。

3. sortメソッドの特徴と注意点

3. sortメソッドの特徴と注意点
3. sortメソッドの特徴と注意点

sortメソッドを使用する際の特徴と注意点は以下の通りです。

  • デフォルトの昇順: 自然順序に基づいて並べ替えられます(Stringの場合は辞書順)。
  • Comparatorの使用: カスタムの並べ替え順序を指定するには、Comparatorを使用します。
  • インプレース操作: 並べ替えはリスト自体に直接適用され、新しいリストは作成されません。

以下は、カスタムのComparatorを使用した例です。


import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class SortWithComparatorExample {
    public static void main(String[] args) {
        ArrayList<String> items = new ArrayList<>();
        items.add("Cherry");
        items.add("Apple");
        items.add("Banana");

        // 降順に並べ替え
        items.sort(Comparator.reverseOrder());

        System.out.println("降順に並べ替えたリスト: " + items);
    }
}

この例では、Comparator.reverseOrderを使用してリストを降順に並べ替えています。

4. 実践例: 数値リストの並べ替え

4. 実践例: 数値リストの並べ替え
4. 実践例: 数値リストの並べ替え

数値が格納されたリストを昇順および降順に並べ替える例を示します。


import java.util.ArrayList;
import java.util.Collections;

public class NumericSortExample {
    public static void main(String[] args) {
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(42);
        numbers.add(7);
        numbers.add(13);

        // 昇順に並べ替え
        Collections.sort(numbers);
        System.out.println("昇順に並べ替えたリスト: " + numbers);

        // 降順に並べ替え
        numbers.sort(Collections.reverseOrder());
        System.out.println("降順に並べ替えたリスト: " + numbers);
    }
}

このコードでは、Collections.sortおよびreverseOrderを使用して数値リストを昇順と降順に並べ替えています。

5. カスタム条件での並べ替え

5. カスタム条件での並べ替え
5. カスタム条件での並べ替え

以下の例では、文字列の長さに基づいてリストを並べ替える方法を示します。


import java.util.ArrayList;
import java.util.Comparator;

public class CustomSortExample {
    public static void main(String[] args) {
        ArrayList<String> items = new ArrayList<>();
        items.add("Cherry");
        items.add("Apple");
        items.add("Banana");

        // 文字列の長さで並べ替え
        items.sort(Comparator.comparing(String::length));

        System.out.println("文字列の長さで並べ替えたリスト: " + items);
    }
}

このコードでは、Comparator.comparingを使用してリストをカスタム条件で並べ替えています。

6. まとめ

6. まとめ
6. まとめ

本記事では、ArrayListクラスのsortメソッドを用いてリストを並べ替える方法について学びました。デフォルトの昇順だけでなく、Comparatorを使用して降順やカスタム条件での並べ替えも可能であることを理解しました。また、Collections.sortComparator.comparingといった便利な方法を活用することで、コードの可読性を高めつつ、柔軟な操作が行えることが分かりました。

例えば、数値リストや文字列リストを用途に応じて並べ替えたい場合、sortメソッドは非常に有用です。また、並べ替えの基準を自由に設定できるComparatorを使えば、カスタマイズした順序を実現できます。

以下はまとめとして、昇順と降順の並べ替えを行う簡単なコード例です。


import java.util.ArrayList;
import java.util.Collections;

public class SortSummaryExample {
    public static void main(String[] args) {
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(10);
        numbers.add(3);
        numbers.add(25);

        // 昇順に並べ替え
        Collections.sort(numbers);
        System.out.println("昇順: " + numbers);

        // 降順に並べ替え
        numbers.sort(Collections.reverseOrder());
        System.out.println("降順: " + numbers);
    }
}

このコードで、Collections.sortreverseOrderの使い方を再確認できます。これらを活用して、リスト操作を効率的に行いましょう。

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

生徒

「リストの並べ替えって簡単にできるんですね!昇順と降順だけじゃなくて、自由な条件も設定できるなんて驚きです。」

先生

「その通りです。並べ替えはプログラムの基本的な機能の1つなので、sortメソッドをしっかり活用してください。また、Comparatorを使えばさらに柔軟な操作が可能ですよ。」

生徒

「次はComparatorを使った複雑な並べ替えにも挑戦してみます!」

先生

「ぜひ試してください。sortメソッドを使いこなせると、リスト操作の幅が大きく広がりますよ。」

カテゴリの一覧へ
新着記事
Javaのラムダ式で使われるスコープとthisの使い方を初心者向けにやさしく解説!
JavaのLocalDateTimeクラスとisEqualメソッドを完全ガイド!初心者でもわかる日時比較
JSPの実行の流れをフローで理解!サーブレットとの関係性と処理順序を理解しよう
JavaのArrayListクラスとgetメソッドを完全解説!初心者でもわかるリストの要素取得
人気記事
No.1
Java&Spring記事人気No1
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.2
Java&Spring記事人気No2
Javaのラムダ式でListを抽出&変換!filterとmapでスマートに操作
No.3
Java&Spring記事人気No3
JavaのLocalDate.parseの使い方を完全解説!文字列から日付を取得する方法を初心者向けに紹介
No.4
Java&Spring記事人気No4
Thymeleafのth:valueの使い方を解説!フォーム入力値を保持したり動的に表示する方法
No.5
Java&Spring記事人気No5
Spring Data JPA入門!findAll()やfindBy**()の使い方などデータベース操作の基礎を学ぶ
No.6
Java&Spring記事人気No6
Spring Securityでパスワードリセットとメール送信を安全に実装する方法
No.7
Java&Spring記事人気No7
Springの@Componentアノテーションの使い方を徹底解説!初心者でもわかるSpring Boot入門
No.8
Java&Spring記事人気No8
Javaのラムダ式で再帰は書ける?初心者向けに実装テクニックと限界を解説!