Spec-Zone.ru › OpenJDK 27

Класс IntSummaryStatistics

java.lang.Object
java.util.IntSummaryStatistics
Все реализуемые интерфейсы:
IntConsumer
public class IntSummaryStatistics extends Object implements IntConsumer
Объект состояния для сбора статистики, например количества, минимального и максимального значений, суммы и среднего значения.

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

 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
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Финализация устарела и подлежит удалению в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством вызова notify или прерывания.
final void wait(long timeoutMillis)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством вызова notify или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством вызова notify или прерывания, либо до истечения заданного промежутка реального времени.

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

andThen
Модификатор и тип Метод Описание
default IntConsumer andThen(IntConsumer after)
Возвращает составной IntConsumer, который последовательно выполняет эту операцию, а затем операцию after.

Подробное описание конструкторов

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, 2026, 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.

Spec-Zone.ru

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