kotlin: 排序:sort/sortDescending/sorted/sortedDescending/reversed/asReversed函数
一,功能
Kotlin提供了以下内建函数来对数组或列表进行排序:
1. sorted()
: 返回一个新的已排序的列表,原列表保持不变。
2. sortedDescending()
: 返回一个新的已降序排序的列表,原列表保持不变。
3,reversed()
: 倒序, 产生新集合,改变原始集合不会影响新集合
4,asReversed()
,返回相同集合实例的一个反向视图
如果原始列表是可变的,那么其所有更改都会反映在其反向视图中
5. sort()
: 在原列表上进行排序,不返回新列表。
6. sortDescending()
: 在原列表上进行降序排序,不返回新列表。
二,例子
代码:
//处理按钮点击事件
binding.button1.setOnClickListener {
val numbers = mutableListOf(5, 3, 1, 4, 2)
// 升序排序并返回新列表
val sortedAscending = numbers.sorted()
println(sortedAscending) // 输出: [1, 2, 3, 4, 5]
// 降序排序并返回新列表
val sortedDescending = numbers.sortedDescending()
println(sortedDescending) // 输出: [5, 4, 3, 2, 1]
//反转顺序
val reversedList = numbers.reversed()
println(reversedList) //[2, 4, 1, 3, 5]
//asReversed,返回相同集合实例的一个反向视图
// 如果原始列表是可变的,那么其所有更改都会反映在其反向视图中
val asreversedList = numbers.asReversed()
println(asreversedList) //[2, 4, 1, 3, 5]
numbers.add(88) //对原始集合进行改动
println(numbers) //[5, 3, 1, 4, 2, 88]
println(asreversedList) //原始集合变化,倒序的集合也自动更新了
// [88, 2, 4, 1, 3, 5]
}
运行结果:
三,例子,改变列表自身
代码:
//处理按钮点击事件
binding.button1.setOnClickListener {
val numbers = mutableListOf(5, 3, 1, 4, 2)
//必须是可变列表才能用sort()函数
numbers.sort()
println(numbers) // 输出: [1, 2, 3, 4, 5]
numbers.sortDescending()
println(numbers) // 输出: [5, 4, 3, 2, 1]
}
运行结果: