Voglio ottenere un flusso in una lista immutabile. Qual è la differenza tra i seguenti approcci e quale è meglio dal punto di vista delle prestazioni?Il modo migliore per raccogliere il flusso Java-8 su 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) );
Alcuni più parametri per le prestazioni o l'efficienza,
Possono esserci molte voci nell'elenco/raccolta.
Cosa fare se si desidera ordinare il set, utilizzando l'operazione intermedia
".sorted()"
con un comparatore personalizzato.- di conseguenza, che cosa succede se aggiungo
.parallel()
al flusso
correlati: [Come posso raccogliere un flusso Java 8 in una Guava ImmutableCollection?] (Https: //stackoverflow.com/questions/29013250/how-can-i-collect-a-java-8-stream-into-a-guava-immutablecollection) –