Java IntStream mapToDouble()
IntStream mapToDouble() 返回一个DoubleStream,该DoubleStream由对该流的元素应用给定函数的结果组成。
注意: IntStream mapToDouble()是一个 中间操作。 这些操作总是懒惰的。中间操作是在一个Stream实例上调用的,在它们完成处理后,它们给出一个Stream实例作为输出。
语法
DoubleStream mapToDouble(IntToDoubleFunction mapper)
参数
- DoubleStream : 一个原始双值元素的序列。这是对Stream的双重原始特化。
- mapper : 一个应用于每个元素的无状态函数。
返回值: 该函数返回一个DoubleStream,由对该流的元素应用给定函数的结果组成。
例子 1 :
// Java code for DoubleStream mapToDouble
// (IntToDoubleFunction mapper)
import java.util.*;
import java.util.stream.IntStream;
import java.util.stream.DoubleStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating an IntStream
IntStream stream = IntStream.of(2, 4, 6, 8, 10);
// Using DoubleStream mapToLong(IntToDoubleFunction mapper)
// to return a DoubleStream consisting of the
// results of applying the given function to
// the elements of this stream.
DoubleStream stream1 = stream.mapToDouble(num -> (double)num);
// Displaying the elements in stream1
stream1.forEach(System.out::println);
}
}
输出:
2.0
4.0
6.0
8.0
10.0
例2 :
// Java code for DoubleStream mapToDouble
// (IntToDoubleFunction mapper)
import java.util.*;
import java.util.stream.IntStream;
import java.util.stream.DoubleStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating an IntStream
IntStream stream = IntStream.range(5, 10);
// Using DoubleStream mapToLong(IntToDoubleFunction mapper)
// to return a DoubleStream consisting of the
// results of applying the given function to
// the elements of this stream.
DoubleStream stream1 = stream.mapToDouble(num -> (double)num / 3);
// Displaying the elements in stream1
stream1.forEach(System.out::println);
}
}
输出:
1.6666666666666667
2.0
2.3333333333333335
2.6666666666666665
3.0
例3 :
// Java code for DoubleStream mapToDouble
// (IntToDoubleFunction mapper)
import java.util.*;
import java.util.stream.IntStream;
import java.util.stream.DoubleStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating an IntStream
IntStream stream = IntStream.range(5, 10);
// Using DoubleStream mapToLong(IntToDoubleFunction mapper)
// to return a DoubleStream consisting of the
// results of applying the given function to
// the elements of this stream.
DoubleStream stream1 = stream.mapToDouble(Math::sin);
// Displaying the elements in stream1
stream1.forEach(System.out::println);
}
}
输出:
-0.9589242746631385
-0.27941549819892586
0.6569865987187891
0.9893582466233818
0.4121184852417566