Класс DoubleSummaryStatistics
- java.lang.Object
-
- java.util.DoubleSummaryStatistics
- Все реализованные интерфейсы:
- DoubleConsumer
public class DoubleSummaryStatistics extends Object implements DoubleConsumer
Объект состояния для сбора статистики, такой как количество, минимум, максимум, сумма и среднее значение.
Этот класс разработан для работы с (хотя и не требует) потоками. Например, вы можете вычислить статистические данные по потоку чисел с плавающей точкой:
DoubleSummaryStatistics stats = doubleStream.collect(DoubleSummaryStatistics::new,
DoubleSummaryStatistics::accept,
DoubleSummaryStatistics::combine); DoubleSummaryStatistics может быть использован как целевой объект сведе́ния для потока. Например:
DoubleSummaryStatistics stats = people.stream()
.collect(Collectors.summarizingDouble(Person::getWeight)); Это вычисляет, за один проход, количество людей, а также минимальное, максимальное, сумму и среднее значение их весов.- Примечание о реализации:
- Эта реализация не потокобезопасна. Однако, безопасно использовать
Collectors.toDoubleStatistics()на параллельном потоке, потому что параллельная реализацияStream.collect()обеспечивает необходимую разбивку, изоляцию и слияние результатов для безопасного и эффективного выполнения в параллельном режиме. - С:
- 1.8
Конструкторы
| Конструктор и описание |
|---|
DoubleSummaryStatistics() Создаёт пустой экземпляр с нулевым количеством, нулевой суммой, |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
accept(double value) Записывает ещё одно значение в сводную информацию. |
void |
combine(DoubleSummaryStatistics other) Объединяет состояние другого |
double |
getAverage() Возвращает среднее арифметическое записанных значений или ноль, если значения не были записаны. |
long |
getCount() Возвращает количество записанных значений. |
double |
getMax() Возвращает максимальное записанное значение, |
double |
getMin() Возвращает минимальное записанное значение, |
double |
getSum() Возвращает сумму записанных значений или ноль, если значения не были записаны. |
String |
toString() Возвращает строковое представление объекта. |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Методы, унаследованные от интерфейса java.util.function.DoubleConsumer
andThen Конструкторы
DoubleSummaryStatistics
public DoubleSummaryStatistics()
Создаёт пустой экземпляр с нулевым количеством, нулевой суммой, Double.POSITIVE_INFINITY минимальным значением, Double.NEGATIVE_INFINITY максимальным значением и нулевым средним значением.
Методы
accept
public void accept(double value)
Записывает ещё одно значение в сводную информацию.
- Указано:
-
acceptв интерфейсеDoubleConsumer - Параметры:
-
value- вводимое значение
combine
public void combine(DoubleSummaryStatistics other)
Объединяет состояние другого DoubleSummaryStatistics в этот.
- Параметры:
-
other- другоеDoubleSummaryStatistics - Исключения:
-
NullPointerException- еслиotherравно null
getCount
public final long getCount()
Возвращает количество записанных значений.
- Возвращает:
- количество значений
getSum
public final double getSum()
Возвращает сумму записанных значений или ноль, если значения не были записаны. Если какое-либо записанное значение является NaN или сумма на каком-либо этапе является NaN, то сумма будет NaN.
Значение суммы с плавающей точкой зависит как от входных значений, так и от порядка операций сложения. Порядок операций сложения в этом методе намеренно не определен, чтобы позволить гибкость реализации для повышения скорости и точности вычисленного результата. В частности, этот метод может быть реализован с использованием компенсированного суммирования или другой техники для уменьшения погрешности в числовой сумме по сравнению с простым суммированием double значений.
- Примечание API:
- Значения, отсортированные по возрастанию абсолютного значения, как правило, дают более точные результаты.
- Возвращает:
- сумма значений или ноль, если нет
getMin
public final double getMin()
Возвращает минимальное записанное значение, Double.NaN если какое-либо записанное значение было NaN или Double.POSITIVE_INFINITY если значения не были записаны. В отличие от числовых операторов сравнения, этот метод рассматривает отрицательный ноль как строго меньший, чем положительный ноль.
- Возвращает:
- минимальное записанное значение,
Double.NaNесли какое-либо записанное значение было NaN илиDouble.POSITIVE_INFINITYесли значения не были записаны
getMax
public final double getMax()
Возвращает максимальное записанное значение, Double.NaN если какое-либо записанное значение было NaN или Double.NEGATIVE_INFINITY если значения не были записаны. В отличие от числовых операторов сравнения, этот метод рассматривает отрицательный ноль как строго меньший, чем положительный ноль.
- Возвращает:
- максимальное записанное значение,
Double.NaNесли какое-либо записанное значение было NaN илиDouble.NEGATIVE_INFINITYесли значения не были записаны
getAverage
public final double getAverage()
Возвращает среднее арифметическое записанных значений или ноль, если значения не были записаны. Если какое-либо записанное значение является NaN или сумма на каком-либо этапе является NaN, то среднее значение будет NaN.
Возвращаемое среднее значение может изменяться в зависимости от порядка записи значений. Этот метод может быть реализован с использованием компенсированного суммирования или другой техники для уменьшения погрешности в numerical sum, используемом для вычисления среднего значения.
- Примечание API:
- Значения, отсортированные по возрастанию абсолютного значения, как правило, дают более точные результаты.
- Возвращает:
- арифметическое среднее значений или ноль, если нет
toString
public String toString()
Возвращает строковое представление объекта. В общем случае, метод toString возвращает строку, которая "текстово представляет" этот объект. Результат должен быть кратким, но информативным представлением, удобным для чтения человеком. Рекомендуется, чтобы все подклассы переопределяли этот метод.
Метод toString для класса Object возвращает строку, состоящую из имени класса, к которому относится объект, символа `@', и беззнакового шестнадцатеричного представления хэш-кода объекта. Другими словами, этот метод возвращает строку, равную значению:
getClass().getName() + '@' + Integer.toHexString(hashCode())Возвращает непустое строковое представление этого объекта, подходящее для отладки. Точный формат представления не определен и может отличаться в разных реализациях и версиях.
© 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.