scala fold sorted

70 阅读1分钟

一.fold

在Scala中,折叠(fold)是一种高阶函数,用于对集合中的元素进行递归处理,并通过应用给定的组合操作来重新组合其子部分的结果,从而构建出一个返回值。Scala提供了三种主要的折叠函数:fold、foldLeft和foldRight,它们在处理顺序和使用场景上有所不同。
def main(args: Array[String]): Unit = {
 //定义一个数组
 val arr = Array(1,2,3,4)

 //10是初始值
 val rst = arr.fold(10)((x,y) => x+y)

 println(s"rst = ${rst}") //20
}

二.sorted

sorted函数是scala集合操作函数中最简单的排序函数之一。它可以对集合中的元素按照默认的升序进行排序。
//sorted排序
//定义一个数组
//val arr = Array(-1,20,3,40)

// var arr1 = arr.sorted

// arr1.foreach(println)

// 对数值进行排序 从小到大排序
Array (-1,20,-100,3,40).sorted.foreach(println)

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

三.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)
----------------------------------------------------- 
//任务:从大到小排序
Array(-1,2,0,4,9).sortWith((x,y) => x>y).foreach(println)