📜  kotlin sortedby - Kotlin (1)

📅  最后修改于: 2023-12-03 15:32:30.150000             🧑  作者: Mango

Kotlin中的sortedBy

在Kotlin中,我们可以使用 sortedBy 函数对集合进行排序。它接受一个 lambda 表达式作为参数,返回一个新的排序后的集合。该函数使用快速排序算法实现。

sortedBy 用法

下面是 sortedBy 函数的用法:

val numbers = listOf(10, 2, 7, 4, 5)
val sortedNumbers = numbers.sortedBy { it }
println(sortedNumbers) // 输出 [2, 4, 5, 7, 10]

在这个例子中,我们创建了一个整数列表并使用 sortedBy 函数对其进行排序。我们传递了一个 lambda 表达式 { it },它返回列表中的每个元素。这意味着我们在按数字大小排序。

我们还可以使用 sortedByDescending 函数按降序排序:

val numbers = listOf(10, 2, 7, 4, 5)
val sortedDescendingNumbers = numbers.sortedByDescending { it }
println(sortedDescendingNumbers) // 输出 [10, 7, 5, 4, 2]
sortedBy 底层实现

虽然 sortedBy 函数的实现相对较简单,但它实际上基于快速排序算法,其中包含了很多优化。它是稳定排序算法,因此它不会打破相等元素之间的顺序。

总结

在Kotlin中,sortedBy 函数是一个非常有用的工具,可以方便地对集合进行排序。它接受一个 lambda 表达式作为参数,可以按照我们指定的方式进行排序。如果你有一个集合需要排序, sortedBy 函数可能是你所需的。