我有{1,2,3}/或者可能是有list<Int>没有一种简单的方法可以将每个元素彼此相乘,例如1*2 , 1*3, 2*3?
这应该可行,因为您可能不想包含像items[i] * items[j]和 这样的重复项items[j] * items[i]
val items = listOf(1, 2, 3, 4)
val result = items.flatMapIndexed { index, a ->
items.subList(index + 1, items.size).map { b -> a * b }
}
println(result) // [2, 3, 4, 6, 8, 12]
Run Code Online (Sandbox Code Playgroud)
flatMapIndexeditems通过评估索引和项目上的 lambda来为每个元素构建一个列表,然后连接这些列表。subList是获取特定范围内的项目的有效方法:从下一个索引开始,直到列表末尾。| 归档时间: |
|
| 查看次数: |
969 次 |
| 最近记录: |