Tôi muốn đưa luồng vào danh sách bất biến. Sự khác biệt giữa các cách tiếp cận sau và cái nào tốt hơn so với phối cảnh hiệu suất?Cách tốt nhất để thu thập Dòng Java-8 tới Guava ImmutableList
collect(Collectors.collectingAndThen(Collectors.toList(), ImmutableList::copyOf));
ImmutableList.copyOf(stream.iterator());
collect(Collector.of( ImmutableList.Builder<Path>::new, ImmutableList.Builder<Path>::add, (l, r) -> l.addAll(r.build()), ImmutableList.Builder<Path>::build) );
Một vài chi tiết các thông số cho hiệu suất hoặc hiệu quả,
Có thể có nhiều mục nhập trong danh sách/bộ sưu tập.
Nếu tôi muốn thiết lập được sắp xếp, sử dụng thao tác trung gian
".sorted()"
với bộ so sánh tùy chỉnh.- do đó, những gì nếu tôi thêm
.parallel()
vào dòng
liên quan: [Làm thế nào tôi có thể thu thập một dòng Java 8 thành ổi ImmutableCollection?] (Https: //stackoverflow.com/questions/29013250/how-can-i-collect-a-java-8-stream-into-a-guava-immutablecollection) –