sortedDescending() 和 sortedByDescending() 有什么区别?

C. *_*Rib 1 collections kotlin

在这段代码中,

fun getList(): List<Int> {
    return arrayListOf(1, 5, 2).sortedDescending()
}
Run Code Online (Sandbox Code Playgroud)

为什么我做不到

fun getList(): List<Int> {
    return arrayListOf(1, 5, 2).sortedByDescending()
}
Run Code Online (Sandbox Code Playgroud)

反而?

如果我将该方法错误地应用于该 ArrayList,那么正确的用法应该是sortedByDescending()什么样的?

shn*_*shn 6

考虑它的最简单方法sortDescending()是应用于元素ArrayList ,如整数或字符串,但sortedByDescending()应用于具有我们希望排序的属性的元素ArrayList

示例:在此代码块中,您只是对整数列表进行排序。

fun getList(): List<Int> {
    return arrayListOf(1, 5, 2).sortedDescending()
}
Run Code Online (Sandbox Code Playgroud)

在下一行代码中,sortByDescending() 要求我们传递一个参数,指示我们要作为排序依据的属性。

fun getList(): List<Object> {
    val list = ArrayList<CustomObject>()
    list.add(CustomObject("Z"))
    list.add(CustomObject("A"))
    list.add(CustomObject("B"))

    return list.sortedByDescending(object.property)
}
Run Code Online (Sandbox Code Playgroud)

是有关整体排序信息的良好来源。