如何交错(合并)两个 Java 8 流?
2022-09-04 01:54:09
Stream<String> a = Stream.of("one", "three", "five");
Stream<String> b = Stream.of("two", "four", "six");
我需要做什么才能使输出如下所示?
// one
// two
// three
// four
// five
// six
我研究了一下,但正如javadoc所解释的那样,它只是一个接一个地附加,它不会交错/穿插。concat
Stream<String> out = Stream.concat(a, b);
out.forEach(System.out::println);
创建一个懒惰串联的流,其元素是第一个流的所有元素,后跟第二个流的所有元素。
错误地给予
// one
// three
// five
// two
// four
// six
如果我收集它们并迭代,可以做到这一点,但希望有更多的Java8-y,Streamy:-)
注意
我不想压缩流
“zip”操作将从每个集合中获取一个元素并将它们组合在一起。
zip操作的结果将如下所示:(不需要的)
// onetwo
// threefour
// fivesix