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
廣告
© . All rights reserved.