终端流操作,它将map作为Java 8中的输入

时间:2017-09-27 10:49:20

标签: java java-8

我们是否有一些终端功能将功能作为输入?我有一个内部循环,它返回一个响应,如下例所示。我希望内循环收集并发送响应,而不是将响应放在外部列表中。

DBCPConnectionPool

我希望它像:

    List<A> consignments = Lists.emptyList();
    IntStream.range(0, days)
            .mapToObj(startDate::plusDays)
            .forEach(day -> IntStream.range(0, hours)
                    .forEach(hour -> consignments.add(myfunction()))
            );

由于forEach是一个消费者,这不会像现在这样有效,所以我们有一些简单的方法来实现它,我不知道了吗?

1 个答案:

答案 0 :(得分:4)

如果我理解你的意图,flatMap应该有效:

List<A> consignments = 
    IntStream.range(0, days)
             .mapToObj(startDate::plusDays)
             .flatMap(day -> IntStream.range(0, hours)
                                      .mapToObj(hour -> myFunction()))
             .collect(toList());