DoubleSummaryStatistics

DoubleSummaryStatistics (double 통계 수집 객체)

count, min, max, sum, average 같은 통계를 수집하기 위한 상태 객체예요. 스트림과 함께 사용하도록 설계됐지만 필수는 아니에요.

출처: Java API Reference

본문

double 스트림에 대한 요약 통계를 다음과 같이 계산할 수 있어요.

DoubleSummaryStatistics stats =
    doubleStream.collect(DoubleSummaryStatistics::new,
                         DoubleSummaryStatistics::accept,
                         DoubleSummaryStatistics::combine);

DoubleSummaryStatistics는 스트림의 리덕션 대상으로 사용할 수 있어요. 예를 들어 다음은 단일 패스로 사람 수와 그들의 몸무게의 최소·최대·합·평균을 계산해요.

DoubleSummaryStatistics stats = people.stream()
    .collect(Collectors.summarizingDouble(Person::getWeight));

이 클래스는 double 값을 받아들이는 accept(double)int 값을 받는 accept(int) 형태가 있어요. combine으로 다른 통계 객체를 병합할 수 있고, getCount, getSum, getMin, getMax, getAverage로 결과를 얻어요. 코드와 시그니처는 원문 그대로 보존돼요.

더 알아보기