📅  最后修改于: 2023-12-03 14:42:54.227000             🧑  作者: Mango
在Java中,DoubleStream是一个流,它包含double类型的元素。flatMap方法的作用是将每个元素映射成一个流,然后将这些流合并到一个单一的流中。
DoubleStream flatMap(DoubleFunction<? extends DoubleStream> mapper)
这个方法接受一个函数 mapper
,该函数将每个流元素映射为一个新的流。并将这些新的流合并到一个单一的流中,并返回所有新流中的所有元素的DoubleStream。
mapper
:函数,它将每个流元素映射成一个新的流DoubleStream
:表示所有流元素的单个流DoubleStream stream = DoubleStream.of(1.0, 2.0, 3.0, 4.0, 5.0);
DoubleStream flatMappedStream = stream.flatMap(x -> DoubleStream.of(x * 2, x * 3));
flatMappedStream.forEach(System.out::println);
输出:
2.0
3.0
4.0
6.0
6.0
9.0
8.0
12.0
10.0
15.0
在这个例子中,我们首先使用DoubleStream.of
创建一个DoubleStream, 包含元素 1.0, 2.0, 3.0, 4.0 和 5.0。然后,我们使用flatMap
方法将每个元素映射成一个新的流,这个新流包含该元素的两倍和三倍。最后,我们将所有的新流合并到一个单一的流中,通过forEach
方法打印出来。
DoubleStream
的flatMap
方法对于将一个流映射成包含每个元素的子流是非常有用的。该方法将子流合并到单个流中,并能轻松执行诸如收集和过滤等聚合操作。