Eri*_*agt 0 java functional-programming kotlin
我有一个绝对值列表(例如:10、50、30),我想以功能方式将其转换为这些数字之间的差异列表。因此,给定输入 as 10, 50, 30
,我希望结果是:40, -20
。
对于上下文:我当前的实现只是一个 for 循环,它跟踪先前的值,计算差异,并将其添加到一个新列表中,但我想知道如何以更实用的方式解决这个问题?(我正在使用 Kotlin,但 Java 中的解决方案也可以)
使用zipWithNext
.
您传入一个带有 2 个参数的 lambda。zipWithNext
将遍历列表并将每对元素传递给您的 lambda。要计算差异,只需减去:
val list = listOf(10, 50, 30)
val result = list.zipWithNext { a, b -> b - a }
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
55 次 |
最近记录: |