In questa lezione vedremo perché gli stream standard di collezioni di numeri (
Stream<Integer>,
Stream<Double>) possono essere inefficienti a causa del boxing/unboxing, e come gli stream primitivi —
IntStream,
LongStream,
DoubleStream — aiutino a evitarlo. Analizzeremo le conversioni
mapToInt/
boxed(), le operazioni di aggregazione (
sum(),
average(),
summaryStatistics()), i risultati sicuri con
OptionalInt/
OptionalDouble, nonché dove l’ottimizzazione porta davvero benefici e come misurarne l’effetto con
JMH.