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
广告