Я вижу, что Collections.unmodifiableSet возвращает немодифицируемое представление данного набора, но я не понимаю, почему мы не можем просто использовать модификатор final, чтобы выполнить это.
В моем понимании final объявляет константу: что-то, что нельзя изменить. Таким образом, если набор объявлен как константа, он не может быть изменен: ничто не может быть удалено из набора, и ничего не может быть добавлено.
Зачем нам нужно Collections.unmodifiableSet?