Класс LongSummaryStatistics
- java.lang.Object
-
- java.util.LongSummaryStatistics
- Все реализованные интерфейсы:
-
IntConsumer,LongConsumer
public class LongSummaryStatistics extends Object implements LongConsumer, IntConsumer
Объект состояния для сбора статистики, такой как количество, минимум, максимум, сумма и среднее значение.
Этот класс предназначен для работы с (хотя не требует) потоками. Например, можно вычислить статистику по потоку длинных чисел следующим образом:
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() |
Создает пустой экземпляр с нулевым количеством, нулевой суммой, |
LongSummaryStatistics(long count,
long min,
long max,
long sum) |
Создает непустой экземпляр со значением |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
accept(int value) |
Записывает новое |
void |
accept(long value) |
Записывает новое |
void |
combine(LongSummaryStatistics other) |
Объединяет состояние другого |
double |
getAverage() |
Возвращает среднее арифметическое записанных значений или ноль, если значения не были записаны. |
long |
getCount() |
Возвращает количество записанных значений. |
long |
getMax() |
Возвращает максимальное зарегистрированное значение или |
long |
getMin() |
Возвращает минимальное зарегистрированное значение или |
long |
getSum() |
Возвращает сумму записанных значений или ноль, если значения не были записаны. |
String |
toString() |
Возвращает строковое представление этого объекта, подходящее для отладки. |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе java.util.function.IntConsumer
andThen
Методы, объявленные в интерфейсе java.util.function.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
public String toString()
Возвращает строковое представление этого объекта, подходящее для отладки. Точный формат представления не определен и может отличаться между реализациями и версиями.
© 1993, 2020, 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/11/docs/api/java.base/java/util/LongSummaryStatistics.html