Я работаю с классом IntSummaryStatistics, чтобы рассчитать статистику для своего класса. Я искал три конкретных способа расчета статистики. Вот мой код:
IntSummaryStatistics stats1 = orderEntries.stream()
.mapToInt((x) -> x.getAmount()).summaryStatistics();
IntSummaryStatistics stats2 = orderEntries.stream().collect(
Collectors.summarizingInt(o -> o.getAmount()));
IntSummaryStatistics istats2 = orderEntries.stream().
collect(
() -> new IntSummaryStatistics(),
(i,o) -> i.accept(o.getAmount()),
(i1, i2) -> i1.combine(i2));
IntSummaryStatistics istats = IntStream.of(51,22,50,27,35).
collect(IntSummaryStatistics::new, IntSummaryStatistics::accept,
IntSummaryStatistics::combine);
Какой подход лучше? Какой из них мы должны предпочесть другим?