sorted函数
功能: 对元素进行排序。它会直接使用元素自身的自然顺序进行排序
语法: 新数组 = 原数组.sorted
// sorted排序
def main(args: Array[String]): Unit = {
// 定义一个数组
val arr = Array(-1,20,3,40)
val arr1 = arr.sorted
arr1.foreach(println) // -1 3 20 40
// 对数值进行排序:从小到大排序
Array(-1,20,-100,3,40).sorted.foreach(println) // -100 -1 3 20 40
// 对字符排序: 按照字典顺序
Array("zip","bus","apple","banana","card").sorted.foreach(println) //apple banana bus card zip
}
sortWith函数
如何将Array(-1,0,1,3,2)中的所有元素,按它们到0点的距离排序?
功能: 按自定义规则排序
语法: 新数组 = 原数组.sortWith(排序函数)
排序函数: (元素a,元素b)=>Bool。如果返回 true,则 表示元素a应排在元素b之前。
// sortWith排序:自定义排序规则
def main(args: Array[String]): Unit = {
// 对数值进行排序:按照离0点的距离大小进行排序
// sortWith((x,y) => 布尔值)
// true:x应该排在y的前面
// false:x应该要排在y后面
Array(-1,2,0,4,9).sortWith((x,y)=> Math.abs(x - 0) < Math.abs(y-0)).foreach(println) //0 -1 2 4 9
}
任务: 从大到小排序
Array(-1,2,0,4,9).sortWith((x,y)=> Math.abs(x) > Math.abs(y)).foreach(println) // 9 4 2 -1 0