Java中的 IntStream mapToDouble()
IntStream mapToDouble()返回一个 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