依旧高阶函数.
一、sorted函数
功能: 对元素进行排序。它会直接使用元素自身的自然顺序进行排序
语法: 新数组 = 原数组.sorted
- sorted:排序
// 对数值元素排序:从小到大排序
val arr = Array(-1,10,-2,1,2,3,20).sorted
arr.foreach(println)
// 对字符元素排序,字典排序
var arr2 = Array("zoom","bus","apple","banana","car","milk").sorted
arr2.foreach(println)
运行结果:
二、sortedWith函数
功能: 按自定义规则排序
语法: 新数组 = 原数组.sortedWith(排序函数)
排序函数:(元素a,元素b)=>Bool。如果返回 true,则 表示元素a应排在元素b之前。
- sortWith:自定义排序
- sortWith((x,y) => 布尔值)
- (1) 如果返回值是true,那么x就在y的前面
- (2) 如果返回值是false,那么x就在y的后面
// 对数值元素排序:按照离 1 这个点的距离从小到大排序
var arr = Array(-1,10,-2,1,2,3,20).sortWith((x,y) => Math.abs(x - 1) < Math.abs(y - 1))
arr.foreach(println)