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. ubuntu开机后弹出System program problem detected的解决办法

    sudo gedit /etc/default/apport 将enabled=1改为enabled=0保存退出重启后就可以了

  2. (二)区块链的共识算法:PoS 及其 例子 代码 实现

    作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguan ...

  3. Spring AOP @AspectJ 入门基础

    需要的类包: 1.一个简单的例子 Waiter接口: package com.yyq.annotation; public interface Waiter { void greetTo(String ...

  4. Centos 7内核3升级到4

    步骤 1:检查已安装的内核版本 让我们安装了一个发行版,它包含了一个特定版本的内核.为了展示当前系统中已安装的版本,我们可以: # uname -sr 下面的图片展示了在一台 CentOS 7 服务器 ...

  5. 浏览器(或客户端)触发,后台运行php脚本

    既我从浏览器这端触发服务器上的php脚本,要想让服务器端的php脚本一直执行,我得把该网页一直开着,这样就达不到我不开电脑不开网页进行爬取的目的,因此查找了些资料,得知 ignore_user_abo ...

  6. maven的tomcat插件启动报错

    错误   :: java.lang.ClassCastException: org.springframework.web.filter.CharacterEncodingFilter cannot ...

  7. hibernate03增删改查

    <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hiber ...

  8. python开发 *进程数据隔离.守护进程,进程同步工具 * 180725

    进程数据隔离.守护进程,进程同步工具 一.进程之间的数据隔离: from multiprocessing import Process n=100 #主程序中变量n= def func(): glob ...

  9. Android基础总结+SQlite数据库【申明:来源于网络】

    Android基础总结+SQlite数据库[申明:来源于网络] 基础总结篇之一:Activity生命周期:http://blog.csdn.net/liuhe688/article/details/6 ...

  10. 浅谈Java对象的equals方法

    相等与同一: 如果两个对象具有相同的类型以及相同的属性值,则称这两个对象相等. 如果两个引用对象指的是同一个对象,则称这两个变量同一. ==是一个比较运算符,基本数据类型比较的是值,引用数据类型比较的 ...