Kotlin 数组 - sortByDescending() 函数



Kotlin 数组 sortByDescending() 函数用于根据指定选择器函数返回的值的自然排序顺序就地排序数组元素。

此函数返回的元素将按降序排列。

排序是稳定的。这意味着相等的元素在排序后保持其相对顺序。

语法

以下是 Kotlin 数组 sortByDescending() 函数的语法:

inline fun <T, R : Comparable<R>> Array<out T>.sortByDescending(
   crossinline selector: (T) -> R?)

参数

此函数接受selector作为参数,它表示定义排序标准的函数。

返回值

此函数不返回值。它只将原始数组修改为降序。

示例 1

以下是一个演示 sortByDescending() 函数用法的基本示例:

fun main(args: Array<String>){
   var arr = arrayOf<Int>(2, 4, 5, 6, 1)
        
   arr.sortByDescending({it})   
   println("descending array")
   for (i in 0 until arr.size){
      println(arr.get(i))
   }   
}

输出

以上代码生成以下输出:

descending array
6
5
4
2
1

示例 2

现在,我们创建一个字符串数组。然后我们使用sortByDescending()函数根据字符串长度按降序排序元素:

fun main(args: Array<String>){
   var arr = arrayOf<String>("This", "is", "tutorialspoint", "India")
        
   arr.sortByDescending({it.length})   
   println("Descending order:")
   for (i in 0 until arr.size){
      println(arr.get(i))
   }
}

输出

以下是输出:

Sorted array:
is
This
India
tutorialspoint

示例 3

下面的示例使用 sortByDescending() 函数按降序排序元素:

fun main(args: Array<String>){
   var arr = arrayOf<Char>('t', 'u', 't', 'o', 'r', 'i', 'a', 'l', 's', 'p', 'o', 'i', 'n', 't')
   
   // sort the array
   arr.sortByDescending({it})   
   println("Descending order:")
   println(arr.joinToString())
}

输出

以下是输出:

​
Descending order:
u, t, t, t, s, r, p, o, o, n, l, i, i, a
kotlin_arrays.htm
广告