Stream 从一个对象创建两个对象并进一步处理

Stream create two objects from one and process further

我需要基于单个对象创建两个对象以进一步流式传输和处理。如何使用流实现此目的?

伪代码可能如下所示:

stream.stream().
    map(p -> new Object(p.getParam1()) <AND> new Object(p.getParam2()) ).
    collect(Collectors.toList());

没有必要同时使用 mapflatMap

flatMap 本身就可以:

stream.stream()
      .flatMap(p -> Stream.of(new Object(p.getParam1()), new Object(p.getParam2())))
      .collect(Collectors.toList());