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