高阶函数(2)

48 阅读1分钟

(3)sorted函数

功能:对元素进行排序。它会直接使用元素自身的自然顺序进行排序

语法:新数组 = 原数组.sorted

1.对数值排序,对字符串排序
object basic38 {

  def main(args: Array[String]): Unit = {
    //定义一个数组
//    val arr = Array(-1,20,3,40)
//
//    val arr1 = arr.sorted
//
//    arr1.foreach(println())
//
    // 对数值进行排序:从小到大排序
    Array(-1,20,-100,3,40).sorted.foreach(println)

    // 对字符进行排序:按照字典顺序
    Array("zip","bus","apple","banana","card").sorted.foreach(println)

  }

}
1.2 sortedWith

功能:按自定义规则排序

语法:新数组 = 原组.sortedWith(排序函数)

排序函数:(元素a,元素b)=>Bool。如果返回 true,则 表示元素a应排在元素b之前。

object basic39 {

  //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)

  }

}
1.2-2从大到小排序
object basic39 {

  //sortWith 自定义排序规则
  def main(args: Array[String]): Unit = {
    // Array(-1,2,0,4,9)
    //任务: 从大到小排序?
    Array(-1,2,0,4,9).sortWith( (x,y)=> x>y).foreach(println)

  }

}