object hai34 {
def main(args: Array[String]): Unit = {
val arr = Array(1,2,3,4,5)
var rst = arr.reduce((x,y) => x + y)
println(s"rst = ${rst}")
}
}
object hai35 {
def main(args: Array[String]): Unit = {
val arr = Array(-1,2,30,5)
var rst = arr.reduce((x,y) => if(x < y)x else y)
println(s"rst = ${rst}")
}
}
bject hai36 {
def main(args: Array[String]): Unit = {
val arr = Array(1,2,3,4,5)
val rst = arr.reduceLeft((x,y) => x - y)
val arr1 = arr.reduceRight((x,y) => x - y)
println(s"rst = ${rst}")
println(s"arr1 = ${arr1}")
}
}
- fold是一种集合操作 返回一个单一的操作 需要提供一个初始
object hai37 {
def main(args: Array[String]): Unit = {
val arr = Array(1,2,3,4)
val rst = arr.fold(10)((x,y) => x + y)
println(s"rst = ${rst}")
}
}
object hai38 {
def main(args: Array[String]): Unit = {
Array(-1,20,-100,3,40).sorted.foreach(println)
Array("zip","aim","ban","fei","yes").sorted.foreach(println)
}
}
- 对数值大小进行排序,按照离0点距离大小进行排序
- sortwith((x,y) => 布尔值)
- true:x应该排在y的前面
- false:x要排在y的后面
object hai39 {
def main(args: Array[String]): Unit = {
Array(-1,2,0,4,9).sortWith((x,y)=> Math.abs(x - 0) < Math.abs(y-0)).foreach(println)
}
}