Класс 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() |
Возвращает строковое представление этого объекта, пригодное для отладки. |
Методы, объявленные в классе 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 равно нулю, то остальные аргументы игнорируются и создаётся пустой экземпляр.
Если аргументы не согласованы, будет брошено исключение. Необходимые условия согласованности аргументов:
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()
- Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление объекта.
© 1993, 2021, 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/17/docs/api/java.base/java/util/LongSummaryStatistics.html