Spec-Zone.ru › OpenJDK 25

Класс LongSummaryStatistics

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

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

 LongSummaryStatistics stats = longStream.collect(LongSummaryStatistics::new,
                                                  LongSummaryStatistics::accept,
                                                  LongSummaryStatistics::combine);
 

LongSummaryStatistics можно использовать как целевой объект сведения для потока. Например:

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

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

С версии:
1.8

Краткое описание конструкторов

Конструктор Описание
LongSummaryStatistics()
Создает пустой экземпляр с нулевым количеством, нулевой суммой, Long.MAX_VALUE минимальным значением, Long.MIN_VALUE максимальным значением и нулевым средним значением.
LongSummaryStatistics(long count, long min, long max, long sum)
Создает непустой экземпляр с указанными значениями: count, min, max и sum.

Краткое описание методов

Модификатор и тип Метод Описание
void accept(int value)
Добавляет новое значение int в сводную информацию.
void accept(long value)
Добавляет новое значение long в сводную информацию.
void combine(LongSummaryStatistics other)
Объединяет состояние другого объекта LongSummaryStatistics с этим объектом.
final double getAverage()
Возвращает среднее арифметическое зарегистрированных значений или ноль, если значения не регистрировались.
final long getCount()
Возвращает количество зарегистрированных значений.
final long getMax()
Возвращает максимальное зарегистрированное значение или Long.MIN_VALUE, если значения не регистрировались
final long getMin()
Возвращает минимальное зарегистрированное значение или Long.MAX_VALUE, если значения не регистрировались.
final long getSum()
Возвращает сумму зарегистрированных значений или ноль, если значения не регистрировались.
String toString()
Возвращает непустое строковое представление этого объекта, подходящее для отладки.

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

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

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

andThen

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

andThen

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

LongSummaryStatistics

public LongSummaryStatistics()
Создает пустой экземпляр с нулевым количеством, нулевой суммой, Long.MAX_VALUE минимальным значением, Long.MIN_VALUE максимальным значением и нулевым средним значением.

LongSummaryStatistics

public LongSummaryStatistics(long count, long min, long max, long sum) throws IllegalArgumentException
Создает непустой экземпляр с указанными значениями: count, min, max и sum.

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

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

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

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

accept

public void accept(int value)
Добавляет новое значение int в сводную информацию.
Определено в:
accept в интерфейсе IntConsumer
Параметры:
value — входное значение

accept

public void accept(long value)
Добавляет новое значение long в сводную информацию.
Определено в:
accept в интерфейсе LongConsumer
Параметры:
value — входное значение

combine

public void combine(LongSummaryStatistics other)
Объединяет состояние другого объекта LongSummaryStatistics с этим объектом.
Параметры:
other — другой объект LongSummaryStatistics
Выбрасывает:
NullPointerException — если other равен null

getCount

public final long getCount()
Возвращает количество зарегистрированных значений.
Возвращает:
количество значений

getSum

public final long getSum()
Возвращает сумму зарегистрированных значений или ноль, если значения не регистрировались.
Возвращает:
сумму значений или ноль, если значений нет

getMin

public final long getMin()
Возвращает минимальное зарегистрированное значение или Long.MAX_VALUE, если значения не регистрировались.
Возвращает:
минимальное значение или Long.MAX_VALUE, если значений нет

getMax

public final long getMax()
Возвращает максимальное зарегистрированное значение или Long.MIN_VALUE, если значения не регистрировались
Возвращает:
максимальное значение или Long.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/LongSummaryStatistics.html

Spec-Zone.ru

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