Java:如何添加两个整数流并生成一个新流

标签 java java-stream

所以我有

Stream<Integer> stream1 = Stream.of(1, 2, 3, 4, 5);
Stream<Integer> stream2 = Stream.of(6, 7, 8, 9, 10);

我想做stream3这是 stream1 的元素之和和stream2 ,换句话说,7, 9, 11, 13, 15 .

我将如何通过流操作来做到这一点?

最佳答案

您正在寻找zip操作。

以下是如何使用 Google Guava 完成任务的Streams#zip :

Stream<Integer> stream1 = Stream.of(1, 2, 3, 4, 5);
Stream<Integer> stream2 = Stream.of(6, 7, 8, 9, 10);

Streams.zip(stream1, stream2, Integer::sum)
    .forEach(System.out::println);

输出:

7
9
11
13
15

另请参阅:

关于Java:如何添加两个整数流并生成一个新流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54723473/

相关文章:

java - 尝试在 Java 中使用 MouseListeners 绘制矩形会导致程序崩溃并且不会生成异常

java - 在流上使用 Collections.toMap() 时如何保持 List 的迭代顺序?

java - 不同对象类型java 8的两个集合的交集

Java8 Stream 编译器消息——局部变量必须是最终的或实际上是最终的

java - 如何将 Spring bean 注入(inject)到 Seam 上下文中?

java - 如何创建多行列表?

java - 将Java连接到MySQL数据库

java - Java 泛型的 'E' 、 'T' 和 '?' 有什么区别?

java - 如何按两个字段排序,其中之一是枚举?

java - 用于替换嵌套 for 循环的 Lambda 表达式由于某种原因不起作用