常用的排序函数有5个,如下:
函数 | 适用类型 | 返回数据 | 说明 |
---|---|---|---|
sorted | 元素是可排序的MutableList 集合或数组 |
集合或数组自身类型 | 升序 |
sortedBy | 元素是可排序的MutableList 集合或数组 |
集合或数组自身类型 | 指定表达式计算之后再进行升序排序 |
sortedDescending | 元素是可排序的MutableList 集合或数组 |
集合或数组自身类型 | 降序 |
sortedByDescending | 元素是可排序的MutableList 集合或数组 |
集合或数组自身类型 | 指定表达式计算之后再进行降序排序 |
reversed | 元素是可排序的MutableList 集合或数组 |
集合或数组自身类型 | 将原始数据倒置 |
class Person(val name: String, val age: Int) {
override fun toString(): String = "[$name, $age]"
}
val people = listOf(
Person("Tony star", 3),
Person("Lawrence Li", 3), Person("Tom Chen", 3),
Person("Alex", 3), Person("Xiao san", 3)
)
fun main(args: Array<String>?) {
val set = setOf(1, -4, 34, -54, 98)
// 升序
println("================= 升序 =================")
println(set.sorted())
people.sortedBy { it.name }.forEach { println(it) }
// 降序
println("================= 降序 =================")
println(set.sortedDescending())
people.sortedByDescending { it.name }.forEach { println(it) }
// 倒置
println("================= 倒置 =================")
println(set.reversed())
}
// 输出结果
2019-06-14 09:46:54.727 I: ================= 升序 =================
2019-06-14 09:46:54.736 I: [-54, -4, 1, 34, 98]
2019-06-14 09:46:54.737 I: [Alex, 3]
2019-06-14 09:46:54.737 I: [Lawrence Li, 3]
2019-06-14 09:46:54.737 I: [Tom Chen, 3]
2019-06-14 09:46:54.737 I: [Tony star, 3]
2019-06-14 09:46:54.737 I: [Xiao san, 3]
2019-06-14 09:46:54.737 I: ================= 降序 =================
2019-06-14 09:46:54.738 I: [98, 34, 1, -4, -54]
2019-06-14 09:46:54.738 I: [Xiao san, 3]
2019-06-14 09:46:54.738 I: [Tony star, 3]
2019-06-14 09:46:54.738 I: [Tom Chen, 3]
2019-06-14 09:46:54.738 I: [Lawrence Li, 3]
2019-06-14 09:46:54.738 I: [Alex, 3]
2019-06-14 09:46:54.738 I: ================= 倒置 =================
2019-06-14 09:46:54.738 I: [98, -54, 34, -4, 1]
网友评论