Spec-Zone.ru › OpenJDK 27

Класс 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
Модификатор и тип Метод Описание
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 или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного времени.

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

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

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

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

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

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