Spec-Zone.ru › OpenJDK 25

Класс IntSummaryStatistics

java.lang.Object
java.util.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 с текущим.
final double getAverage()
Возвращает среднее арифметическое записанных значений или ноль, если значения не записывались.
final long getCount()
Возвращает количество записанных значений.
final int getMax()
Возвращает максимальное записанное значение или Integer.MIN_VALUE, если значения не записывались.
final int getMin()
Возвращает минимальное записанное значение или Integer.MAX_VALUE, если значения не записывались.
final long getSum()
Возвращает сумму записанных значений или ноль, если значения не записывались.
String toString()
Возвращает непустое строковое представление этого объекта, подходящее для отладки.

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

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

Методы, объявленные в интерфейсе 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
Возвращает:
строковое представление объекта

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, которая содержит более подробные описания для разработчиков, включая общие сведения, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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/25/docs/api/java.base/java/util/IntSummaryStatistics.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API