Класс DoubleStream
Класс DoubleStream - это специальный вид потока
для работы с примитивными значениями типа double.
Он входит в семейство примитивных потоков вместе с
IntStream и LongStream. Использование
DoubleStream позволяет избежать автобоксинга
и работать с числами с плавающей точкой значительно
эффективнее. Поток создается с помощью статических
методов, таких как of, generate, iterate,
range или из обычного потока через mapToDouble.
Синтаксис
DoubleStream.of(1.1, 2.2, 3.3)
stream.mapToDouble(x -> x * 1.5)
Пример
Давайте создадим поток из чисел типа double
и выведем каждое из них на экран:
import java.util.stream.DoubleStream;
public class Main
{
public static void main(String[] args)
{
DoubleStream stream = DoubleStream.of(1.1, 2.2, 3.3);
stream.forEach(System.out::println);
}
}
Результат выполнения кода:
1.1
2.2
3.3
Пример
Давайте отфильтруем только числа больше 2.0
и соберем их в массив:
import java.util.stream.DoubleStream;
public class Main
{
public static void main(String[] args)
{
double[] res = DoubleStream.of(1.1, 2.2, 3.3, 4.4)
.filter(x -> x > 2.0)
.toArray();
System.out.println(java.util.Arrays.toString(res));
}
}
Результат выполнения кода:
[2.2, 3.3, 4.4]
Пример
Давайте посчитаем сумму всех элементов потока:
import java.util.stream.DoubleStream;
public class Main
{
public static void main(String[] args)
{
double res = DoubleStream.of(1.1, 2.2, 3.3)
.sum();
System.out.println(res);
}
}
Результат выполнения кода:
6.6
Пример
Давайте найдем среднее значение элементов потока:
import java.util.stream.DoubleStream;
public class Main
{
public static void main(String[] args)
{
DoubleStream.of(1.1, 2.2, 3.3)
.average()
.ifPresent(System.out::println);
}
}
Результат выполнения кода:
2.2
Смотрите также
-
класс
Stream,
который представляет поток объектов -
класс
IntStream,
который представляет поток чисел типа int -
класс
LongStream,
который представляет поток чисел типа long -
метод
mapToInt,
который преобразует поток в IntStream