我需要对列表列表进行排序...
我在python中有这样的东西:
a = sorted([[[1,2],[3,4]],[[1]]])
Kotlin 有这样的东西吗?
我发现自定义比较器对象对于这样一个简单的任务确实令人困惑。
最佳答案
如果我正确理解Python sorted()方法,则应该产生相同的行为:
fun main() {
val a = listOf(listOf(listOf(1,2),listOf(4,3)), listOf(listOf(0,2,1)),listOf(listOf(1)))
val b =a.sortedBy {it -> it.size}
println(a)
println(b)
}
输出:
[[[1, 2], [4, 3]], [[0, 2, 1]], [[1]]]
[[[0, 2, 1]], [[1]], [[1, 2], [4, 3]]]
相当于Python:
a = [[[1,2],[4,3]], [[0,2,1]] ,[[1]]]
b = sorted(a)
print(a)
print(b)
输出:
[[[1, 2], [4, 3]], [[0, 2, 1]], [[1]]]
[[[0, 2, 1]], [[1]], [[1, 2], [4, 3]]]