Instead of first collecting a stream into a list and then making it unmodifiable, as shown below:
mutableList = list.stream() // perform some stream operations... .filter(myFilterPredicate) .map(myMapperFunction) // collect into a list .collect(toList()); // now make the list unmodifiable return Collections.unmodifiableList(list);
you can using collectingAndThen
as follows:
return list.stream() // perform some stream operations... .filter(myFilterPredicate) .map(myMapperFunction) // collect into an unmodifiable list .collect(collectingAndThen(toList(), Collections::unmodifiableList));
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.