Collections Начинающий

Создание неизменяемых Set одним фабричным вызовом.

✕ Java 8
Set<String> set =
    Collections.unmodifiableSet(
        new HashSet<>(
            Arrays.asList("a", "b", "c")
        )
    );
✓ Java 9+
Set<String> set =
    Set.of("a", "b", "c");
Заметили проблему в этом коде? Сообщите нам.
📏

Лаконично

Одна строка вместо трёх вложенных вызовов.

🚫

Обнаруживает дубликаты

Выбрасывает исключение при случайной передаче повторяющихся элементов.

🔒

Неизменяемый

Нельзя добавлять или удалять элементы после создания.

Старый подход
Многословное обёртывание
Современный подход
Set.of()
Начиная с JDK
9
Сложность
Начинающий
Создание неизменяемых Set
Доступно

Широко доступно начиная с JDK 9 (сент. 2017)

Set.of() создаёт по-настоящему неизменяемое Set, которое отклоняет null-элементы и дубликаты при создании. Больше никакого обёртывания изменяемых Set.