首页 > 其他分享 >Scala的fold

Scala的fold

时间:2024-10-19 19:20:53浏览次数:15  
标签:初始值 运算 Scala res1 reduce fold Array

fold的解释为:对数组的每个元素执行指定的二元折叠操作。

注意:fold与reduce和reduceleft的区别在于fold有一个初始值,在取值运算的过程中第一个元素需要与初始值进行运算,再一次进行下一步的运算。

fold作用:fold是一种集合操作(与reduce类似),用于对集合中的元素进行聚合操作,返回一个单一的结果,需要提供一个初始值的 “ 种子 ” 值。

object day11 {
  def main(args: Array[String]): Unit = {
    //fold初始值的reduce
    //fold(初始值)(二元函数=> 返回值)
    //val  res1 = Array(1000,1500,1200,1800,2000).fold(100000)((x,y)=>  x+y)
    //println(res1)
    val res1 = Array(1000, 1500, 1200, 1800, 2000).fold(100000)((x, y) => if(x>y) y else x)
    println(res1)
  }


}

标签:初始值,运算,Scala,res1,reduce,fold,Array
From: https://blog.csdn.net/2401_87129116/article/details/142982385

相关文章

  • Scala多样的定义方法
    标准定义defsum(x:Int,y:Int):Int={x+y}新方式:字面量方式varsum1=(x:Int,y:Int)=>{x+y}//简写1,代码只有一句,可以省略{}varsum2=(x:Int,y:Int)=>x+y//简写2,形参可以使用占位符来代替varsum3:(Int,Int)=>Int=_+_/......
  • Scala连接数据库(mysql,redis)
    1、Scala连接mysql数据库:importjava.sql.{Connection,DriverManager,PreparedStatement,ResultSet}objectmysqlConn{defmain(args:Array[String]):Unit={Class.forName("com.mysql.jdbc.Driver")valconn:Connection=DriverManager.getCon......
  • 网页内容获取:Scala自动化脚本的实现
    对于开发者和数据科学家来说,自动化获取网页内容是一个常见的需求。Scala,作为一种多范式编程语言,以其强大的函数式编程特性和并发处理能力,成为了编写高效自动化脚本的理想选择。本文将介绍如何使用Scala结合SeleniumWebDriver来自动化获取网页内容。为什么选择Scala?Scala......
  • Scala基础知识点
    1.Scala编译后文件的后缀名为.class。2.Scala有两种类型的变量,一种是使用关键字var声明的变量,值是可变的;另一种是使用关键字val声明的变量,也叫常量,值是不可变的。3.Null是所有引用类型的子类型,主要用途是与其他JVM语言互操作,几乎不在Scala代码中使用。4.Scala中可以使用def......
  • Scala函数进阶
    (一)函数的字面量用语法1,语法为:(参数列表)=>{方法体}2,函数的字面量作用由于scala的函数字面量没有定义函数名,所以可以通过变量进行调用。另外,也可以通过参数的方式进行调用,关于这种方式的介绍将在scala的函数高阶中进一步说明,这里不在展开叙述。3,scala的函数字面简化第一......