Kotlin 陣列 - sortedByDescending() 函式



Kotlin 陣列的 sortedByDescending() 函式用於返回一個列表,該列表包含根據指定選擇器函式返回的值的自然排序順序以降序排列的所有元素。

語法

以下是 Kotlin 陣列 sortedByDescending() 函式的語法:

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

引數

此函式接受selector作為引數,該引數表示定義排序條件的函式。

返回值

此函式返回一個包含所有元素的列表,這些元素以降序排列。

示例 1

以下是一個基本的示例,用於演示 sortedByDescending() 函式的使用:

fun main(args: Array<String<){
   var arr = arrayOf<Int>(2, 4, 5, 6, 1)        
   val list = arr.sortedByDescending({it})   
   println("Descending list: $list")
}

輸出

以上程式碼生成以下輸出:

Descending list: [6, 5, 4, 2, 1]

示例 2

在這個例子中,我們使用sortedByDescending()函式根據長度以降序排列陣列的元素:

fun main(args: Array<String>){
   var arr = arrayOf<String>("This", "is", "tutorialspoint", "India")
        
   val list = arr.sortedByDescending({it.length})   
   println("Descending list:")
   println(list)
}

輸出

以下是輸出:

Descending list:
[tutorialspoint, India, This, is]

示例 3

下面的示例建立一個 Person 類,該類以人的年齡作為引數。然後,我們使用 sortedByDescending() 函式以降序排列人的年齡:

class Person(var age: Int) {
   override fun toString(): String {
      return "$age"
   }
}
fun main(args: Array<String>) {
   val p1 = Person(24)
   val p2 = Person(29)
   val p3 = Person(30)
   val listOfage = arrayOf(p1, p2, p3)
   val sorted_age_list = listOfage.sortedByDescending { it.age }
   print("Descending ages:")
   println(sorted_age_list)
}

輸出

以下是輸出:

Descending ages: [30, 29, 24]
kotlin_arrays.htm
廣告