Java DoubleStream flatMap(DoubleFunction mapper)
DoubleStream flatMap(DoubleFunction mapper) 返回一个流,该流由对每个元素应用所提供的 映射函数 而产生的映射流的内容替换该流的每个元素的结果组成。这是一个 中间操作。 这些操作始终是懒惰的。中间操作在一个流实例上被调用,在它们完成处理后,它们给出一个流实例作为输出:
注意: 每个映射的流在其内容被放置到这个流中后被关闭。如果一个映射的流是空的,就会使用一个空的流来代替。
语法:
DoubleStream flatMap(DoubleFunction < **?** extends DoubleStream> mapper)
参数
- DoubleStream : 一个原始双值元素的序列。DoubleFunction : 一个接受双值参数并产生一个结果的函数。mapper : 一个无状态的函数,它被应用于每个元素,该函数返回新的流。
返回值: DoubleStream flatMap(DoubleFunction mapper)使用映射函数通过映射的流返回一个流。
例子1: 使用DoubleStream flatMap()来获得DoubleStream的元素立方体。
// Java code for DoubleStream flatMap// (DoubleFunction mapper) to get a stream// consisting of the results of replacing// each element of this stream with the// contents of a mapped streamimport java.util.*;import java.util.stream.DoubleStream; class GFG { // Driver code public static void main(String[] args) { // Creating an DoubleStream DoubleStream stream1 = DoubleStream.of(4.2, 5.3, 6.6, 7.0); // Using DoubleStream flatMap() DoubleStream stream2 = stream1.flatMap(num -> DoubleStream.of(num * num * num)); // Displaying the resulting DoubleStream stream2.forEach(System.out::println); }}
输出:
74.08800000000001148.87699999999998287.496343.0
例2: 使用DoubleStream flatMap()将DoubleStream的每个元素乘以0.7
// Java code for DoubleStream flatMap// (DoubleFunction mapper) to get a stream// consisting of the results of replacing// each element of this stream with the// contents of a mapped streamimport java.util.*;import java.util.stream.DoubleStream; class GFG { // Driver code public static void main(String[] args) { // Creating an DoubleStream DoubleStream stream1 = DoubleStream.of(5.2, 6.4, 8.1, 10.0); // Using DoubleStream flatMap() DoubleStream stream2 = stream1.flatMap(num -> DoubleStream.of(num * 0.7)); // Displaying the resulting IntStream stream2.forEach(System.out::println); }}输出:
3.63999999999999974.47999999999999955.6699999999999997.0
