Blog

Java 8 Stream API で Immutable な List を作成する

data.stream().collect(Collectors.collectingAndThen(Collectors.toList(), Collections::unmodifiableList))

とすればいい。

Collectors.collectingAndThen を使えば、collect した後の結果をさらに加工することができる。 Collections::unmodifiableList をコールすることにより変更できない List を作成することが可能。

冗長だけど……