Класс IntSummaryStatistics

Все реализованные интерфейсы:
IntConsumer
public class IntSummaryStatistics
extends Object
implements IntConsumer

Объект состояния для сбора статистики, такой как количество, минимум, максимум, сумма и среднее значение.

Этот класс предназначен для работы с (хотя не требует) потоками. Например, вы можете вычислить сводную статистику по потоку целых чисел следующим образом:

IntSummaryStatistics stats = intStream.collect(IntSummaryStatistics::new,
                                                IntSummaryStatistics::accept,
                                                IntSummaryStatistics::combine);

IntSummaryStatistics может использоваться в качестве целевого объекта редукции для потока. Например:

IntSummaryStatistics stats = people.stream()
                                    .collect(Collectors.summarizingInt(Person::getDependents));
Этот вычисляет за один проход количество людей, а также минимальное, максимальное, суммарное и среднее количество их иждивенцев.
Примечание по реализации:
Эта реализация не потокобезопасна. Однако её можно безопасно использовать с Collectors.summarizingInt() в параллельном потоке, потому что параллельная реализация Stream.collect() обеспечивает необходимое разбиение, изоляцию и объединение результатов для безопасного и эффективного выполнения в параллельном режиме.

Эта реализация не проверяет переполнение суммы.

С тех пор:
1.8

Конструкторы

Конструктор Описание
IntSummaryStatistics()

Создаёт пустой экземпляр с нулевым количеством, нулевой суммой, Integer.MAX_VALUE минимальным значением, Integer.MIN_VALUE максимальным значением и нулевым средним.

IntSummaryStatistics​(long count, int min, int max, long sum)

Создаёт непустой экземпляр со значением указанного count, min, max, и sum.

Методы

Модификатор и тип Метод Описание
void accept​(int value)

Записывает новое значение в сводную информацию

void combine​(IntSummaryStatistics other)

Объединяет состояние другого IntSummaryStatistics в этот.

double getAverage()

Возвращает среднее арифметическое записанных значений или ноль, если значения не были записаны.

long getCount()

Возвращает количество записанных значений.

int getMax()

Возвращает максимальное значение, записанное, или Integer.MIN_VALUE если значения не были записаны.

int getMin()

Возвращает минимальное значение, записанное, или Integer.MAX_VALUE если значения не были записаны.

long getSum()

Возвращает сумму записанных значений или ноль, если значения не были записаны.

String toString()

Возвращает непустую строку представления этого объекта, пригодную для отладки.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Методы, объявленные в интерфейсе java.util.function.IntConsumer

andThen

Конструкторы

IntSummaryStatistics

public IntSummaryStatistics()

Создаёт пустой экземпляр с нулевым количеством, нулевой суммой, Integer.MAX_VALUE минимальным значением, Integer.MIN_VALUE максимальным значением и нулевым средним.

IntSummaryStatistics

public IntSummaryStatistics(long count,
                            int min,
                            int max,
                            long sum)
                     throws IllegalArgumentException

Создаёт непустой экземпляр со значением указанного count, min, max, и sum.

Если count равно нулю, то остальные аргументы игнорируются, и создаётся пустой экземпляр.

Если аргументы несовместимы, то генерируется IllegalArgumentException исключение. Необходимые условия согласованности аргументов следующие:

  • count >= 0
  • min <= max
Примечание по API:
Принудительная проверка корректности аргументов означает, что полученный набор записанных значений из экземпляра источника IntSummaryStatistics может не быть допустимым набором аргументов для этого конструктора из-за переполнения арифметики записанного количества значений источника. Условия согласованности аргументов недостаточны для предотвращения создания внутренне несовместимого экземпляра. Пример такого состояния: count = 2, min = 1, max = 2, и sum = 0.
Параметры:
count - количество значений
min - минимальное значение
max - максимальное значение
sum - сумма всех значений
Исключения:
IllegalArgumentException - если аргументы несовместимы
С тех пор:
10

Методы

accept

public void accept(int value)

Записывает новое значение в сводную информацию

Определено в:
accept в интерфейсе IntConsumer
Параметры:
value - входное значение

combine

public void combine(IntSummaryStatistics other)

Объединяет состояние другого IntSummaryStatistics в этот.

Параметры:
other - другой IntSummaryStatistics
Исключения:
NullPointerException - если other равно null

getCount

public final long getCount()

Возвращает количество записанных значений.

Возвращает:
количество значений

getSum

public final long getSum()

Возвращает сумму записанных значений или ноль, если значения не были записаны.

Возвращает:
сумма значений или ноль, если нет

getMin

public final int getMin()

Возвращает минимальное значение, записанное, или Integer.MAX_VALUE если значения не были записаны.

Возвращает:
минимальное значение или Integer.MAX_VALUE если нет

getMax

public final int getMax()

Возвращает максимальное значение, записанное, или Integer.MIN_VALUE если значения не были записаны.

Возвращает:
максимальное значение или Integer.MIN_VALUE если нет

getAverage

public final double getAverage()

Возвращает среднее арифметическое записанных значений или ноль, если значения не были записаны.

Возвращает:
среднее арифметическое значений или ноль, если нет

toString

public String toString()

Возвращает непустую строку представления этого объекта, пригодную для отладки. Точный формат представления не определён и может отличаться между реализациями и версиями.

Переопределяет:
toString в классе Object
Возвращает:
строковое представление объекта.

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/IntSummaryStatistics.html

Spec-Zone .ru
спецификации, руководства, описания, API