当前位置: 首页 > article >正文

高阶函数中的reduce,reduceleft,fold

object Test_gjhs2 {
  def main(args: Array[String]): Unit = {

 reduce:


    //定义一个数组
    Array(1,2,3,4,5)
    //求和 (1,2,3,4,5) ===> 一个值
    val res = Array(1,2,3,4,5).reduce((x,y)=> x+y)
    println(res)//15
    val res2 = Array(1,2,3,4).reduceLeft((x,y)=> x - y) //-8
    val res3 = Array(1,2,3,4).reduceRight((x,y)=> x - y)//-2
    println(res2,res3) 
    val res4 = Array(-1,2,10,55).reduce((a,b)=>{
  if(a>b)a else b   //求最大值
})
    println(res4)//55 
val res5 = Array(-1,2,10,55).reduce((a,b)=>{
  if(a<b)a else b   //求最小值
})
    println(res5)

fold :

    //    fold:作用:带初始值的reduce
//          格式:fold(初始值)(二元函数=>返回值)
    val res1 = Array(1000,1500,1200,1800,2000).fold(100000)((x,y)=>if(x>y) y else x)
    println(res1)//1000

 

    //   排序
//    sorted:按自然顺序对数组元素排序(数字:从小到大,字母:字典顺序),返回排序之后的新数组
//    var arr1 Array(1.2,0,1.3,-1).sorted
//    主要不要加()
    var arr1 =Array("a","b","apple","park","zoom","school" ).sorted
//    //打印一个数组
//    arr1.foreach(println)
    //sortWith:排序函数返回true表示第一个元素应该排在第二个元素之前
//    Array(-1,0,1,3,2).sortWith((a,b)=>bollean)
    //数字a,到0点的距离是|a-0|
    Array(-1,0,1,3,2).sortWith((a,b)=>Math.abs(a-0) < Math.abs(b-0) ).foreach(println)//0 -1 1 2 3
    //练习:按它们到2点的距离从大到小排序
    Array(-1,0,1,3,2).sortWith((a,b)=>Math.abs(a-2) > Math.abs(b-2) ).foreach(println)//-1 0 1 3 2
  }

}


http://www.kler.cn/news/362531.html

相关文章:

  • Django从请求到响应
  • Python网络通信:从基础到高级应用
  • js 基础补充3
  • 【牛客刷题】笔记2
  • 基于node.js宜家宜业物业管理系统【附源码】
  • 【Hive】3-HiveSQL 数据定义语言(DDL)
  • 【网络安全】从2FA绕过到账户接管
  • python3的基本数据类型:String(字符串)
  • 【Nuvoton干货分享】开发应用篇 4 -- 8bit MCU Flash 操作
  • Python 实现 excel 数据过滤
  • day01|计算机网络重难点之TCP/IP模型和OSI模型的区别、从输入 URL 到页面展示
  • JMeter模拟并发请求
  • 【Java】揭秘网络编程:深入探索其无尽奥秘与魅力
  • Kotlin 入门教程:函数
  • Detecting Holes in Point Set Surfaces 论文阅读
  • 面对对象抽象类与普通类的区别
  • 初识js-cnblog
  • 接口测试(六)jmeter——参数化(配置元件 --> 用户定义的变量)
  • 【LeetCode】每日一题 2024_10_18 使二进制数组全部等于 1 的最少操作次数 I(贪心)
  • 6-2.Android 对话框之基础对话框问题清单(UI 线程问题、外部取消、冲突问题、dismiss 方法与 hide 方法)
  • 【单元测试】深入解剖单元测试的思维逻辑
  • Nextjs Tailwind CSS 下载和配置
  • 027 elasticsearch查询数据-Java原生客户端
  • 前后端请求一致性学习
  • 解析NIO
  • 如何在 JavaScript 项目中限制Node.js版本