为 Java 流的每个元素创建 2 个对象

Thr*_*ion 0 java java-8 java-stream collectors

有没有办法为流的每个元素创建 2 个不同的对象并最后收集它们?

例如,如果我有 aList<String> stringList并且有一个GoddClass带有默认值和 a 的类customConstructor,我想在一个流中创建 2 个对象并最后收集

stringList
  .stream()
  .map(GoddClass::new) 
  .addAnothrObject(GoddClass::customConstructor) // Not a valid line, Just to depict what is needed
  .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

一个流可能不是实现我正在尝试的目标的正确解决方案。但这个问题留给专家们来解答。

hev*_*ev1 6

.flatMapwithStream.of在这种情况下最合适。

stringList
 .stream().flatMap(str -> Stream.of(new GoddClass(), new GoddClass(str))
 .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)