Kotlin 陣列 - sortBy() 函式



Kotlin 陣列的 sortBy() 函式用於根據指定選擇器函式返回的值的自然排序順序對陣列元素進行就地排序。

此函式返回的元素將按升序排列。

排序是穩定的。這意味著相等元素在排序後彼此之間保持其相對順序。

語法

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

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

引數

此函式接受selector作為引數,它表示一個定義排序標準的函式。

返回值

此函式不返回任何值。它僅將原始陣列修改為升序。

示例 1

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

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

輸出

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

Sorted array
1
2
4
5
6

示例 2

現在,我們建立一個字串陣列。然後我們使用sortBy()函式根據字串的長度對元素進行排序:

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

輸出

以下是輸出:

Sorted array:
is
This
India
tutorialspoint

示例 3

以下示例使用 sortBy() 函式按字母順序對元素進行排序:

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.sortBy({it})   
   println("Sorted array:")
   println(arr.joinToString())
}

輸出

以下是輸出:

​
Sorted array:
a, i, i, l, n, o, o, p, r, s, t, t, t, u
kotlin_arrays.htm
廣告

© . All rights reserved.