Класс 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 |
Создает непустой экземпляр с указанными значениями: count, min, max и sum. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
accept |
Добавляет новое значение int в сводную информацию. |
void |
accept |
Добавляет новое значение long в сводную информацию. |
void |
combine |
Объединяет состояние другого объекта 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 >= 0min <= 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
© 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