- Kotlin 教程
- Kotlin - 首页
- Kotlin - 概述
- Kotlin - 环境搭建
- Kotlin - 架构
- Kotlin - 基本语法
- Kotlin - 注释
- Kotlin - 关键字
- Kotlin - 变量
- Kotlin - 数据类型
- Kotlin - 运算符
- Kotlin - 布尔值
- Kotlin - 字符串
- Kotlin - 数组
- Kotlin - 范围
- Kotlin - 函数
- Kotlin 控制流
- Kotlin - 控制流
- Kotlin - if...else 表达式
- Kotlin - when 表达式
- Kotlin - for 循环
- Kotlin - while 循环
- Kotlin - break 和 continue
- Kotlin 集合
- Kotlin - 集合
- Kotlin - 列表
- Kotlin - 集合
- Kotlin - 映射
- Kotlin 对象和类
- Kotlin - 类和对象
- Kotlin - 构造函数
- Kotlin - 继承
- Kotlin - 抽象类
- Kotlin - 接口
- Kotlin - 可见性控制
- Kotlin - 扩展函数
- Kotlin - 数据类
- Kotlin - 密封类
- Kotlin - 泛型
- Kotlin - 委托
- Kotlin - 解构声明
- Kotlin - 异常处理
- Kotlin 有用资源
- Kotlin - 快速指南
- Kotlin - 有用资源
- Kotlin - 讨论
Kotlin 数组 - sortedWith() 函数
Kotlin 数组的 sortedWith() 函数用于根据指定的比较器函数返回包含数组元素的已排序列表。
比较器是一个函数,根据传递给函数的两个变量的比较结果返回 1、-1 或 0。
排序是稳定的。这意味着相等元素在排序后会保持彼此之间的相对顺序。
语法
以下是 Kotlin 数组 sortedWith() 函数的语法:
fun <T> Array<out T>.sortedWith( comparator: Comparator<in T> ): List<T>
参数
此函数接受一个比较器作为参数。
返回值
此函数返回一个包含此数组已排序元素的列表。
示例 1
以下是一个演示 sortedWith() 函数用法的基本示例:
fun main(args: Array<String>){
val arr = arrayOf<Int>(5, 3, 6, 7, 4)
var res = arr.sortedWith(Comparator<Int>{ a, b ->
when {
a > b -> 1
a < b -> -1
else -> 0
}
})
println("Sorted array: $res")
}
输出
以上代码生成以下输出:
Sorted array: [3, 4, 5, 6, 7]
示例 2
现在,我们创建一个字符串数组。然后我们使用sortedWith()函数对数组的元素进行排序:
fun main(args: Array<String>){
val arr = arrayOf<String>("Daisy", "Rahul", "Ram", "Prajwalani")
var res = arr.sortedWith(Comparator<String>{ a, b ->
when {
a > b -> 1
a < b -> -1
else -> 0
}
})
println("Sorted array: $res")
}
输出
以下是输出:
Sorted array: [Daisy, Prajwalani, Rahul, Ram]
示例 3
下面的示例创建一个比较器,用于以降序对元素进行排序。然后我们使用 sortedWith() 函数根据此比较器对数组的元素进行排序:
fun main(args: Array<String>) {
val numbers = arrayOf(42, 7, 23, 89, 5, 34)
// Display the original array
println("Original array: ${numbers.joinToString(", ")}")
// create a custom comparator to sort the array in descending order
val descendingComparator = Comparator<Int> { a, b -> when {
a < b -> 1
a > b -> -1
else -> 0 }
}
// Sort the array using the custom comparator
val sortedNumbers = numbers.sortedWith(descendingComparator)
// Display the sorted array
println("Sorted array with comparator: ${sortedNumbers.joinToString(", ")}")
}
输出
以上代码产生以下输出:
Original array: 42, 7, 23, 89, 5, 34 Sorted array with comparator: 89, 42, 34, 23, 7, 5
kotlin_arrays.htm
广告