Класс 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 | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удален в будущей версии. Финализация объявлена устаревшей и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного времени. |
Методы, объявленные в интерфейсе IntConsumer
andThen | Модификатор и тип | Метод | Описание |
|---|---|---|
default IntConsumer |
andThen |
Возвращает составной объект IntConsumer, который последовательно выполняет эту операцию, а затем операцию after. |
Методы, объявленные в интерфейсе LongConsumer
andThen | Модификатор и тип | Метод | Описание |
|---|---|---|
default LongConsumer |
andThen |
Возвращает составной объект 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 >= 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.