首页 > 其他分享 >Scala的fold

Scala的fold

时间:2024-10-19 19:20:53浏览次数:3  
标签:初始值 运算 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入门基础(12)抽象类
    抽象类,制定标准,不要求去具体实现               包含了抽象方法的类就是抽象类。抽象方法只是有方法名,没有具体方法体的方法定义抽象类要用abstract(抽象)关键字用智能驾驶技术举例:演示)具体属性var,val属性名=值;抽象属性var属性名:类型具体方法:完整......
  • python: invalid value encountered in divide以及invalid value encountered in doub
    运行命令pythoneqtl_prepare_expression.pydata.tpm.gctdata.reads_count.gct--tpm_threshold0.1--count_threshold2--sample_frac_threshold0.2--normalization_methodtmm--outputdata.txt时出现了报错“invalidvalueencounteredindivide”以及“invalidvalue......
  • 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 的链式风格
    Scala的链式风格通常指的是在代码中使用一系列的方法调用,这些方法调用通过点号(.)连接在一起,形成一条链。这种风格在函数式编程中非常常见,因为它可以提高代码的可读性和表达力。以下是一些Scala链式风格的示例:方法链:在对象上连续调用多个方法。valresult=someObject.met......
  • 识别图形验证码 (Scala 示例)
    安装所需依赖在你的build.sbt文件中添加以下依赖:scalalibraryDependencies+="org.scalaj"%%"scalaj-http"%"2.4.2"下载并保存验证码图片使用scalaj-http下载验证码图片并保存到本地:scalaimportscalaj.http._importjava.nio.file.{Files,Paths}objectCaptch......
  • 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......
  • Flutter容器(6):页面骨架(Scaffold)
    Material组件库提供了丰富多样的组件,这里介绍一下最常用的Scaffold组件,其余的读者可以自行查看文档或FlutterGallery中Material组件部分的示例。注意:FlutterGallery是Flutter官方提供的FlutterDemo,源码位于flutter源码中的examples目录下,笔者强烈建议用户将F......
  • Scala基础知识点
    1.Scala编译后文件的后缀名为.class。2.Scala有两种类型的变量,一种是使用关键字var声明的变量,值是可变的;另一种是使用关键字val声明的变量,也叫常量,值是不可变的。3.Null是所有引用类型的子类型,主要用途是与其他JVM语言互操作,几乎不在Scala代码中使用。4.Scala中可以使用def......
  • Scala函数进阶
    (一)函数的字面量用语法1,语法为:(参数列表)=>{方法体}2,函数的字面量作用由于scala的函数字面量没有定义函数名,所以可以通过变量进行调用。另外,也可以通过参数的方式进行调用,关于这种方式的介绍将在scala的函数高阶中进一步说明,这里不在展开叙述。3,scala的函数字面简化第一......