【发布时间】:2019-03-28 14:13:27
【问题描述】:
我有一个代表不同城市的对象列表。我想用那个列表做的是获得列表中相邻城市之间距离的总和。所以如果我的列表是l = {c1,c2,c3},结果将是
总计sum = distance(c1,c2) + distance(c2,c3)。
我试图使用流 API,但在这种特殊情况下我找不到一种方法来处理列表中的元素,其中处理不是一次一个元素,而是涉及列表的两个相邻元素每一步。
如果有人知道如何以这种方式应用流,我将不胜感激。
【问题讨论】:
-
您是否为此编写了命令式代码?你被困在哪里了?
-
我是 Java 新手,我一直在将流应用于列表,但一次只处理一个元素,现在我想使用它,但同时使用两个(一次相邻的元素),我还是没找到办法
-
双倍总公里=新双倍(0d); for (int i = 0; i
-
这是我到目前为止的代码,但我想使用流而不是使用 for 进行迭代
-
这将是对 DoubleStream 的不良使用。您需要使用一个字段来“记住”流中的最后一个值,但 Stream 文档明确建议流操作是无状态的。最好使用常规循环。
标签: java list java-stream fold