カテゴリ: 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の基礎を最初から体系的に学びたい人には、 初心者向けで定評のある定番入門書がこちらです。

スッキリわかるJava入門 第4版をAmazonで見る

※ Amazon広告リンク

カテゴリの一覧へ
新着記事
New1
Spring
SpringDataJPAのJPAクエリメソッド「NotLike」の使い方を完全ガイド!初心者向け解説
更新記事
New2
Spring
SpringDataJPAのJPAクエリメソッド「Like」の使い方を完全ガイド!初心者向け解説
更新記事
New3
Java
JavaのLocalDateTimeクラスとplusMinutesメソッドを完全ガイド!初心者でもわかる分単位の時間操作
新規投稿
New4
Spring
SpringDataJPAのJPAクエリメソッド「IsNotNull」と「NotNull」の使い方を完全ガイド!初心者向け解説
更新記事
人気記事
No.1
Java&Spring記事人気No1
Spring
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.2
Java&Spring記事人気No2
Java
JavaのBooleanクラスの使い方を完全ガイド!初心者でもわかる真偽値の操作
No.3
Java&Spring記事人気No3
JSP
JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介
No.4
Java&Spring記事人気No4
Java
JavaのIOExceptionクラス徹底解説!初心者向けファイル入出力エラー対策ガイド
No.5
Java&Spring記事人気No5
JSP
JSPでif文・for文を使う方法!初心者でもわかるJavaとの違いと使い方
No.6
Java&Spring記事人気No6
Spring
SpringのBindingResultを完全ガイド!初心者でもわかる入力チェックとエラー処理
No.7
Java&Spring記事人気No7
Spring
SpringのModelクラスとaddAttributeメソッドの使い方を完全ガイド!初心者でも安心
No.8
Java&Spring記事人気No8
Spring
SpringDataJPAのJPAクエリメソッド「EndingWith」の使い方を完全ガイド!初心者向け解説