Kotlin 陣列 - sorted() 函式



Kotlin 陣列的 sorted() 函式用於返回陣列中所有元素的列表,這些元素按照其自然排序順序排序。

此函式建立一個新的已排序列表,而不修改原始陣列。它只對相同型別的資料進行排序,如果資料型別不同,則返回錯誤。

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

語法

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

fun <T : Comparable<T>> Array<out T>.sorted(): List<T>

引數

此函式不接受任何引數。

返回值

此函式返回一個列表,其中包含此陣列的已排序元素(升序)。

示例 1

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

fun main(args: Array<String>){
   var arr = arrayOf<Int>(2, 4, 5, 6, 1)
   
   // sort the array element.        
   val list = arr.sorted()   
   println("list: $list") 
}

輸出

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

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

示例 2

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

fun main(args: Array<String>){
   var arr = arrayOf<String>("This", "is", "tutorialspoint", "India")
        
   val list = arr.sorted()   
   println("sorted array list: $list")   
}

輸出

輸出如下:

sorted array list: [India, This, is, tutorialspoint]

示例 3

下面的示例建立一個任何型別的陣列。然後,我們使用 sorted() 函式檢視輸出是什麼:

fun main(args: Array<String>){
   var arr = arrayOf<Any>('t', 'u', 't', "tutorialspoint", "India", 5, 6, 1)
   
   // sort the array
   val list  = arr.sorted()   
   println("A list in ascending order: $list")
}

輸出

如果陣列型別為 Any,則以上程式碼會產生以下錯誤:

​
Unresolved reference. None of the following candidates is applicable because of a receiver type mismatch: fun <T : Comparable<T>> Array<out T>.sorted(): List<T>
kotlin_arrays.htm
廣告
© . All rights reserved.