Skip to content

[3.07] Comparatorと複数条件のソート #35

Description

@akito119

この節で学ぶこと

  • 自然順序
  • ラムダ式
  • 複数項目による並べ替え

解説

Comparator を使うと、値の並べ方を自分で定義できます。第1条件が同じときだけ第2条件を比較することで、複数条件のソートを表現します。

コード例

String[] words = {"pear", "fig", "apple"};
Arrays.sort(
    words,
    Comparator.comparingInt(String::length)
        .thenComparing(Comparator.naturalOrder())
);

コードをそのまま写すだけでなく、値や条件を変更して実行結果がどう変わるか確認してください。

確認問題

  1. 「自然順序」は何のために使いますか。
  2. 「複数項目による並べ替え」を使うときに注意すべき点を説明してください。
  3. この節のコードや手順を、自分の言葉で説明してください。

演習

この節で学んだ「Comparatorと複数条件のソート」を使う小さなプログラムを作ってください。値を最低2通り試し、予想した結果と実際の結果が一致することを確認しましょう。

まとめ

自然順序、ラムダ式、複数項目による並べ替えを学びました。分からない点が残った場合は、コードや手順を小さく分けて一つずつ確かめてください。

次のセクション

次は「3.08 データをまとめるクラス」へ進みます。

APG4bの対応問題

Metadata

Metadata

Assignees

No one assigned

    Labels

    chapter: 3第3章 Java標準ライブラリと競技プログラミングcontent教材本文の作成

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions