IntSummaryStatistics — int 값 통계 수집기

IntSummaryStatistics — int 값 통계 수집기

IntSummaryStatisticscount(개수), min(최소), max(최대), sum(합), average(평균) 같은 통계를 수집하는 상태 객체예요. 스트림과 함께 동작하도록 설계됐지만(필수는 아니에요) int 스트림의 축소 대상으로 쓸 수 있어요.

출처: Java API Reference

본문

public class IntSummaryStatistics extends Object implements IntConsumer
IntSummaryStatistics stats = intStream.collect(
    IntSummaryStatistics::new,
    IntSummaryStatistics::accept,
    IntSummaryStatistics::combine);

이처럼 collect에 공급자·누적자·결합자를 넘겨 한 번의 패스로 개수와 최소·최대·합·평균을 계산할 수 있어요. Collectors.summarizingInt(...)를 쓰면 더 간단해요.

생성자

  • IntSummaryStatistics() — count 0, sum 0, min Integer.MAX_VALUE, max Integer.MIN_VALUE, average 0인 빈 인스턴스를 만들어요.
  • IntSummaryStatistics(long count, int min, int max, long sum) — 지정된 통계로 비어 있지 않은 인스턴스를 만들어요. count가 0이면 나머지 인자는 무시하고 빈 인스턴스를 만들어요. 인자가 일관되지 않으면(count < 0 또는 min > max) IllegalArgumentException을 던져요.

메서드

  • accept(int value) — 새 값을 통계 정보에 기록해요.
  • combine(IntSummaryStatistics other) — 다른 인스턴스의 상태를 이 인스턴스에 결합해요.
  • getCount() — 기록된 값의 개수를 반환해요.
  • getSum() — 기록된 값의 합을 반환하고, 값이 없으면 0을 반환해요.
  • getMin() — 기록된 최소값을 반환하고, 값이 없으면 Integer.MAX_VALUE를 반환해요.
  • getMax() — 기록된 최대값을 반환하고, 값이 없으면 Integer.MIN_VALUE를 반환해요.
  • getAverage() — 기록된 값의 산술 평균을 반환하고, 값이 없으면 0을 반환해요.
  • toString() — 디버깅에 적합한 비어 있지 않은 문자열 표현을 반환해요.

더 알아보기 (Learn more)