Collections 初級

単一のファクトリ呼び出しで不変セットを作成する。

✕ Java 8
Set<String> set =
    Collections.unmodifiableSet(
        new HashSet<>(
            Arrays.asList("a", "b", "c")
        )
    );
✓ Java 9+
Set<String> set =
    Set.of("a", "b", "c");
このコードに問題がありますか? お知らせください。
📏

簡潔

3つのネストした呼び出しの代わりに1行で済みます。

🚫

重複検出

誤って重複要素を渡すと例外をスローします。

🔒

不変

作成後に追加・削除はできません。

旧来のアプローチ
冗長なラッピング
モダンなアプローチ
Set.of()
JDKバージョン
9
難易度
初級
不変セットの作成
利用可能

JDK 9(2017年9月)以降、広く利用可能

Set.of()はnullと重複要素を作成時に拒否する真の不変セットを作成します。変更可能なセットをラッピングする必要はもうありません。

共有 𝕏 🦋 in