LongSummaryStatistics — long 값 통계 수집기

LongSummaryStatistics — long 값 통계 수집기

LongSummaryStatisticscount(개수), min(최소), max(최대), sum(합), average(평균) 같은 통계를 수집하는 상태 객체예요. intlong 값을 모두 받아들일 수 있고, long 스트림의 축소 대상으로 쓸 수 있어요.

출처: Java API Reference

본문

public class LongSummaryStatistics extends Object
    implements LongConsumer, IntConsumer
LongSummaryStatistics stats = longStream.collect(
    LongSummaryStatistics::new,
    LongSummaryStatistics::accept,
    LongSummaryStatistics::combine);

한 번의 패스로 개수와 최소·최대·합·평균을 계산할 수 있어요. Collectors.summarizingLong(...)을 쓰면 더 간단해요.

생성자

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

메서드

  • accept(int value) / accept(long value) — 새 int/long 값을 통계에 기록해요.
  • combine(LongSummaryStatistics other) — 다른 인스턴스의 상태를 결합해요.
  • getCount() — 기록된 값의 개수를 반환해요.
  • getSum() — 합을 반환하고, 값이 없으면 0을 반환해요.
  • getMin() / getMax() — 최소/최대를 반환하고, 값이 없으면 각각 Long.MAX_VALUE/Long.MIN_VALUE를 반환해요.
  • getAverage() — 산술 평균을 반환하고, 값이 없으면 0을 반환해요.
  • toString() — 디버깅용 문자열 표현을 반환해요.

더 알아보기 (Learn more)