0Pricing
Java Academy · レッスン

Collectionsユーティリティ

java.util.Collectionsの便利なユーティリティを使います。sort、reverse、shuffle、min/max、frequency、addAll、変更不可ビューを扱います。

「Collectionsユーティリティ」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン3/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全3レッスンが含まれています。

概要

Collectionsヘルパークラスには、作業を効率化する小さなツールが用意されています。sort、reverse、shuffle、min/max、frequency、addAll、unmodifiableListなどです。これらはjava.util.Collectionsにあります。

インプレース操作

インプレースメソッド(sort、reverse、shuffle)は、指定されたListを変更します。Set の場合は、並べ替える前に List にコピーします。変更を加える場合は、読みやすさのため変更前後を出力しましょう。

コード:sort/reverse/shuffle

sortは自然順序を使い、reverseはリストの順序を反転し、shuffleは順序をランダムにします。いずれも同じ List インスタンスを変更します。

public class Main {
  public static void main(String[] args) {
    java.util.List<String> names = new java.util.ArrayList<>();
    names.add("Bob"); names.add("Ada"); names.add("Cyd");

    System.out.println("orig=" + names);
    java.util.Collections.sort(names);          // natural order (A–Z)
    System.out.println("sorted=" + names);
    java.util.Collections.reverse(names);       // reverse order
    System.out.println("reversed=" + names);
    java.util.Collections.shuffle(names);       // random order
    System.out.println("shuffled=" + names);
  }
}

最小値/最大値と出現回数

minとmaxは自然順序に基づいて要素を選びます。frequency(list, x)は、要素が何回現れるかを数えます。小規模な統計やテストに便利です。

コード:min/max/frequency

これらのユーティリティは List を変更せずに値を返します。上の数値は Integer の自然順序を使って計算されています。

public class Main {
  public static void main(String[] args) {
    java.util.List<Integer> nums = new java.util.ArrayList<>();
    nums.add(7); nums.add(3); nums.add(7); nums.add(1);

    int min = java.util.Collections.min(nums);
    int max = java.util.Collections.max(nums);
    int freq7 = java.util.Collections.frequency(nums, 7);

    System.out.println("min=" + min + ", max=" + max + ", count(7)=" + freq7);
  }
}

コード:addAllとunmodifiableList

addAllはリストの作成に便利です。unmodifiableListは読み取り専用ビューを作成し、意図しない変更を防ぎます。

public class Main {
  public static void main(String[] args) {
    java.util.List<String> a = new java.util.ArrayList<>();
    java.util.Collections.addAll(a, "red", "green");

    java.util.List<String> b = new java.util.ArrayList<>();
    java.util.Collections.addAll(b, "blue", "green");

    // merge b into a
    a.addAll(b);
    System.out.println("merged=" + a); // [red, green, blue, green]

    // create a read-only view
    java.util.List<String> readOnly = java.util.Collections.unmodifiableList(a);
    System.out.println("readonly size=" + readOnly.size());
    // readOnly.add("x"); // would throw UnsupportedOperationException if uncommented
  }
}

Collectionsユーティリティのチェック

クイックチェック:Collections.sort(list)はデフォルトで何を行いますか?

まとめ

まとめ:Collectionsを使うと手軽に便利な処理ができます。順序の操作には sort/reverse/shuffle、小規模な統計には min/max/frequency、結合には addAll、読み取り専用ビューには unmodifiableList を使います。

よくある質問

「Collectionsユーティリティ」レッスンは無料ですか?

はい。「Collectionsユーティリティ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全3レッスンが含まれています。

「Collectionsユーティリティ」で何を学びますか?

java.util.Collectionsの便利なユーティリティを使います。sort、reverse、shuffle、min/max、frequency、addAll、変更不可ビューを扱います。 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Java Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/3です。

「Collectionsユーティリティ」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このJava Academyレッスンでコードを書いて実行できますか?

はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. ListとSetの概要
  2. Iteratorと拡張for
  3. Collectionsユーティリティ
← Java Academyに戻る