- 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 数组 - sortWith() 函数
Kotlin 数组的 sortWith() 函数用于根据比较器函数指定的顺序就地排序数组的元素。
此函数还接受两个可选参数:formIndex 和 toIndex,以根据比较器对范围内的元素进行排序。
比较器是一个函数,它根据传递给函数的两个变量的比较返回 1、-1 或 0。
异常
以下是异常:
IndexOutOfBoundsException - 如果 fromIndex 小于零或 toIndex 大于此数组的大小
IllegalArgumentException - 如果 fromIndex 大于 toIndex。
语法
以下是 Kotlin 数组 sortWith() 函数的语法:
fun <T> Array<T>.sortWith(comparator: Comparator<in T>)
参数
此函数接受以下参数。
formInfex - 它表示要排序的范围的开始(包含),默认为 0。
toIndex - 它表示要排序的范围的结束(不包含),默认为此数组的大小。
返回值
此函数不返回值。它将原始数组修改为已排序的数组。
示例 1
以下是一个基本示例,用于演示 sortWith() 函数的使用:
fun main(args: Array<String>){ val arr = arrayOf<Int>(5, 3, 6, 7, 4) arr.sortWith(Comparator<Int>{ a, b -> when { a > b -> 1 a < b -> -1 else -> 0 } }) print("Sorted array: ") println(arr.joinToString()) }
输出
以上代码生成以下输出:
Sorted array: 3, 4, 5, 6, 7
示例 2
现在,我们创建一个字符串数组。然后我们使用sortWith()函数以降序排列数组的元素:
fun main(args: Array<String>){ val arr = arrayOf<String>("Daisy", "Rahul", "Aman", "Prajwalani") arr.sortWith(Comparator<String>{ a, b -> when { a < b -> 1 a > b -> -1 else -> 0 } }) println("Sorted array: " + arr.joinToString()) }
输出
以下是输出:
Sorted array: Rahul, Prajwalani, Daisy, Aman
示例 3
以下示例创建一个比较器以降序排列元素。然后我们使用 sortWith() 函数根据此比较器对数组的元素进行排序:
fun main(args: Array<String>) { val numbers = arrayOf(42, 10, 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 numbers.sortWith(descendingComparator) // Display the sorted array println("Sorted array with comparator:"+ numbers.joinToString()) }
输出
以上代码产生以下输出:
Original array: 42, 10, 23, 89, 5, 34 Sorted array with comparator:89, 42, 34, 23, 10, 5
kotlin_arrays.htm
广告