Как создать Unmodifiable
List/Set/Map с Collectors.toList/toSet/toMap
, поскольку toList
(и тому подобное) являются документами как:
Нет гарантий относительно типа, изменчивости, сериализуемости или безопасности потоков возвращаемого списка.
Перед java-10 вам нужно предоставить Function
Collectors.collectingAndThen
, например:
List<Integer> result = Arrays.asList(1, 2, 3, 4)
.stream()
.collect(Collectors.collectingAndThen(
Collectors.toList(),
x -> Collections.unmodifiableList(x)));