如何在Java中平面映射流?

如何在Java中平面映射流?,java,java-8,java-stream,Java,Java 8,Java Stream,我想将对象流转换为单个对象流。我知道我必须使用flatMap方法,但我无法实现这一点,请看: Stream<Stream<Object>> objectStreams = ... Stream<Object> flatMappedStream = objectStreams.flatMap( ... ); streamobjectstreams=。。。 Stream flatMappedStream=objectStreams.flatMap(…); 有人

我想将对象流转换为单个对象流。我知道我必须使用
flatMap
方法,但我无法实现这一点,请看:

Stream<Stream<Object>> objectStreams = ...
Stream<Object> flatMappedStream = objectStreams.flatMap( ... );
streamobjectstreams=。。。
Stream flatMappedStream=objectStreams.flatMap(…);

有人能帮我吗?

基本上,您希望将所有嵌套流连接到一个平面流中,而不影响成员本身。你将使用

objectStreams.flatMap(Function.identity());
因为您必须为每个流成员提供一些映射函数,在本例中,它是identity函数。

如果您的流来自上一个.map调用,您应该将该.map()更改为.flatMap()。那么你就不需要这个函数了。identity()之类的东西。