我有两个包含GPS坐标的列表,我想找到这两个列表中坐标之间的最短距离.现在我迭代了列表并将每个距离存储到另一个列表中,如下所示:
val distanceList = for {
c1 <- cordinatesList1
c2 <- cordinatesList2
distace = calculateDistances(c1, c2)
} yield distance
Run Code Online (Sandbox Code Playgroud)
现在我可以从中获得最小值distanceList,但是无论如何在for-comprehension没有存储所有距离的情况下找到最小值?
它不能在内部完成,for但可以在外部完成,如果评估是懒惰的,则不会保存中间结果.
(for {
c1 <- cordinatesList1.toStream
c2 <- cordinatesList2
} yield calculateDistances(c1,c2)).min
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |