reduceLeft神语法

val a = Array(20, 12, 6, 15, 2, 9)
1
2
3
4
5
6
7
8
scala> a.reduceLeft(_ _)  // 数组求和
res0: Int = 64
scala> a.reduceLeft(_ _// 数组求乘积
res1: Int = 388800
scala> a.reduceLeft(_ min _// 数组求最小值
res2: Int = 2
scala> a.reduceLeft(_ max _// 数组求最大值
res3: Int = 20

使用函数

自定义函数实现数组求最大值功能

1
2
3
4
scala> val = Array(201261529)
scala> val = (x:Int, y:Int) => x max y
scala> a.reduceLeft(f)
res0: Int = 20

实现原理

第一、第二个数的比较结果再与第三个数进行比较,以此类推。x为上一次结果,y为本次比较数值

使用神语法

scala> val a = Array(20, 12, 6, 15, 2, 9)
1
2
3
4
5
6
7
8
scala> a.reduceLeft(_ _)  // 数组求和
res0: Int = 64
scala> a.reduceLeft(_ _// 数组求乘积
res1: Int = 388800
scala> a.reduceLeft(_ min _// 数组求最小值
res2: Int = 2
scala> a.reduceLeft(_ max _// 数组求最大值
res3: Int = 20

使用函数

自定义函数实现数组求最大值功能

1
2
3
4
scala> val = Array(201261529)
scala> val = (x:Int, y:Int) => x max y
scala> a.reduceLeft(f)
res0: Int = 20

实现原理

第一、第二个数的比较结果再与第三个数进行比较,以此类推。x为上一次结果,y为本次比较数值

Scala--reduceLeft的更多相关文章

  1. scala flatMap reduceLeft foldLeft

    object collection_t1 { def flatMap1(): Unit = { val li = List(,,) val res = li.flatMap(x => x mat ...

  2. Beginning Scala study note(6) Scala Collections

    Scala's object-oriented collections support mutable and immutable type hierarchies. Also support fun ...

  3. Beginning Scala study note(3) Object Orientation in Scala

    1. The three principles of OOP are encapsulation(封装性), inheritance(继承性) and polymorphism(多态性). examp ...

  4. Scala 中下划线的用途

    转载自:https://my.oschina.net/leejun2005/blog/405305 Scala 作为一门函数式编程语言,对习惯了指令式编程语言的同学来说,会不大习惯,这里除了思维方式之 ...

  5. Scala基础语法

    /* 学慕课网上<Scala程序设计>课程跟着敲的代码 作为代码参考也是很好的 在scala_ide.org上下载eclipse IDE,新建一个worksheet,就可以像在xcode的 ...

  6. Scala HandBook

    目录[-] 1.   Scala有多cool 1.1.     速度! 1.2.     易用的数据结构 1.3.     OOP+FP 1.4.     动态+静态 1.5.     DSL 1.6 ...

  7. Spark之scala

    一.什么是scala scala 是基于JVMde 编程语言.JAVA是运行在jvm上的编程语言,java 源代码通过jvm被编译成class 文件,然后在os上运行class 文件.scala是运行 ...

  8. Scala Collection简介

    Traversable vs Iterable Traversable, Iterable 都是trait. Iterable 继承 Traversable. Traversable: 支持forea ...

  9. Scala _ [underscore] magic

    I started learning Scala a few days before. Initially i was annoyed by the use of too many symbols i ...

  10. scala实现kmeans算法

    算法的概念不做过都解释,google一下一大把.直接贴上代码,有比较详细的注释了. 主程序: import scala.io.Source import scala.util.Random /** * ...

随机推荐

  1. echarts网络拓扑图

    option = { title: { text: '' }, tooltip: {}, animationDurationUpdate: 1500, animationEasingUpdate: ' ...

  2. C# 鼠标移动Winform窗体内或者panel容器内的控件 显示虚线/实现虚线框来确定位置

    C# 鼠标移动WinForm窗体或者panel容器内的控件 移动虚线/实现虚线框来确定位置 1.用到的方法介绍 今天,根据领导指示指导移动容器内的控件,生成虚线框,使用 ControlPaint.Dr ...

  3. 关于mysql中触发器old和new

    1.当使用insert语句的时候,如果原表中没有数据的话,那么对于插入数据后表来说新插入的那条数据就是new,如图所示: 2.当使用delete语句的时候,删除的那一条数据相对于删除数据后表的数据来说 ...

  4. IntelliJ IDEA 2018.3.2无法正常输入字符问题解决方案

    昨天升级IDEA的版本到2018.3.2,今天打开项目发现只要在代码编辑器输入字符(英文.符号或中文等)都会立刻被强制删除,造成一个无法正常输入的现象(回车换行可以).仔细观察这种想象后发有可能是代码 ...

  5. Windows下使用VS2017搭建FLTK开发环境

    环境介绍 系统:win10 64位 IDE:VS 2017 Community FLTK版本:1.3.4-2 下载FLTK 截止到本文编写,FLTK的最新稳定版本是1.3.4-2.我们从官网(www. ...

  6. yarn集群客户端gateway常用限制

    spark默认集群模式,省略上传依赖包过程:spark-default.sh spark.yarn.jars hdfs:///${PATH}/sparkJar/jars/*.jarspark.subm ...

  7. WPS生成文章目录

    WPS生成文章目录 1.引用–>插入目录...即可!

  8. post方式接口测试(二)_参数化

    一.在postman中可设置环境变量和全局变量 二.设置好后直接在请求中使用: 三.get请求,需要将参数直接出现在URL上,直接点击 Params

  9. VoiceXML标识元素及其属性

    VoiceXML 元素 <assign> 给变量赋值. <audio> 播放语音文件. <block> 无用户交互的可执行代码块. <catch> 捕获 ...

  10. int bool 字符串 列表 字典 集合

    1.int和bool 输出i的最大二进制位数inti = 1000 print(i.bit_length()) 2. str int bool list set dict  tuple 相互转换 pr ...