如何交错(合并)两个 Java 8 流?两个、Java

由网友(小熊橡皮圈)分享简介:流a = Stream.of("一", "三", "五");流b = Stream.of("二", "四", "六");我需要做什么才能使输出如下?//一个//二//三//四个//五//六我查看了 concat 但正如 javadoc 解释的那样,它只是一个接一个地附加,它不会交错/穿插.流out = St...

 流a = Stream.of("一", "三", "五");流<字符串>b = Stream.of("二", "四", "六");

我需要做什么才能使输出如下?

//一个//二//三//四个//五//六

我查看了 concat 但正如 javadoc 解释的那样,它只是一个接一个地附加,它不会交错/穿插.

流out = Stream.concat(a, b);out.forEach(System.out::println);
大数据开发基础之JAVA IO 一

创建一个惰性连接流,其元素都是第一个流的元素,然后是第二个流.

错误地给予

//一个//三//五//二//四个//六

如果我收集它们并进行迭代可以做到,但希望有更多的 Java8-y、Streamy :-)

注意

我不想压缩流

zip"操作将从每个集合中取出一个元素并将它们组合起来.

zip 操作的结果是这样的:(不需要的)

//onetwo//三四//五六

解决方案

我会使用这样的:

公共静态<T>流<T>interleave(Stream