我在Kotlin中得到了一个列表,想把这个列表分成一个元素和其他元素。我可以这样做:
val list = listOf(1,2,3,4)
val (two, others) = list.partition { it == 2 }
print(two.first()) // 2
print(others) // [1, 3, 4]
有没有一种方法可以写得更优雅?我正在寻找这样的东西:
// KOTLIN PSEUDO CODE
val list = listOf(1,2,3,4)
val (two, others) = list.partition { it == 2 }.mapFirst { it.first() }
print(two) // 2
print(others) // [1, 3, 4]
2条答案
按热度按时间muk1a3rh1#
修改@Nikolai的答案,使其为null安全:
现在,对于不在 list 中的 it,将返回 null 的值。
8zzbczxx2#
您可以使用
let
扩展转换中间结果输出: