是否有一些不错的 Kotlin 习惯用法可以一次有效地迭代一个列表中的两个项目?
就像是:
val items = listOf("one", "two", "three", "four")
items.forEach(2) { item1, item2 ->
println("$item1 and $item2")
}
Run Code Online (Sandbox Code Playgroud)
输出将是:
one and two
three and four
Run Code Online (Sandbox Code Playgroud)
可能最简单的方法是使用 chunked(2)
listOf(1, 2, 3, 4, 5, 6, 7)
.chunked(2)
.forEach { println(it) }
Run Code Online (Sandbox Code Playgroud)
印刷:
[1, 2]
[3, 4]
[5, 6]
[7]
Run Code Online (Sandbox Code Playgroud)
如果确保元素的数量是偶数,则可以使用命名变量访问这些对:
listOf(1, 2, 3, 4, 5, 6)
.also { require(it.size % 2 == 0) { "Number of elements must be even" } }
.chunked(2)
.forEach { (item1, item2) ->
println("$item1 and $item2")
}
Run Code Online (Sandbox Code Playgroud)
印刷:
1 and 2
3 and 4
5 and 6
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
192 次 |
| 最近记录: |