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
我想同时执行两个流,并生成作为前两个流的组合的第三个流 我想从这两个中生成一个新的,它将与这一个等价 我目前找到的是或
问题内容: 我可以添加流或其他元素,如下所示: 我可以随时添加新内容,例如: 但这是丑陋的,因为是静态的。如果是实例方法,则上面的示例将更容易阅读: 和 我的问题是: 1)是否有充分的理由为什么它是静态的?还是我缺少一些等效的实例方法? 2)无论如何,有没有更好的方法呢? 问题答案: 如果为 Stream.concat 和 Stream.of 添加 静态导入 ,则第一个示例可以编写如下: 导入具有
有没有办法把下面的2个状态结合起来呢? 我有一个类如下所示: 包含一个介于之间的随机值。 是一个包含大量
我有两个数据流和。
我可以添加流或额外的元素,像这样: 我可以边走边添加新的东西,比如: 但这很难看,因为是静态的。如果是一个实例方法,那么上面的示例将更容易阅读: 而且 2)无论如何,有没有更好的方法?
我试图用Java8中的流创建一个生产者多个消费者模型。我正在从数据库资源中读取和处理数据,我想以流式方式处理它们(不能将整个资源读取到内存中)。