Collections 初級

ビルダーなしでインラインに不変マップを作成する。

✕ Java 8
Map<String, Integer> map = new HashMap<>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
map = Collections.unmodifiableMap(map);
✓ Java 9+
Map<String, Integer> map =
    Map.of("a", 1, "b", 2, "c", 3);
このコードに問題がありますか? お知らせください。
📏

インライン作成

一時的な変更可能マップは不要です。

🔒

不変な結果

作成後にマップは変更できません。

🚫

nullキー・値なし

nullエントリは即座に拒否されます。

旧来のアプローチ
マップビルダーパターン
モダンなアプローチ
Map.of()
JDKバージョン
9
難易度
初級
不変マップの作成
利用可能

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

Map.of()はキーと値のペアをインラインで受け取り、不変マップを返します。10件を超えるエントリには、Map.entry()ペアと共にMap.ofEntries()を使用します。

共有 𝕏 🦋 in