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. AS 常用快捷键

    上篇中我们讲了Android Studio如何添加插件,这篇我们讲讲AS的快捷键,这里我说明的快捷键都是最最实用的,希望刚刚加入AS的朋友尽快的熟悉一下这几个快捷键,这样可以帮助你提高coding的效 ...

  2. 用svg绘制圣诞帽

    今天是圣诞节,无意中看到csdn博客上面给我的头像带了个圣诞帽,比较好奇,想看看csdn是怎么实现的,果然用的是svg实现,不过代码有点冗长. <html> <body> &l ...

  3. windows 下面必备软件

    弹窗拦截软件 http://www.pc6.com/pc/tcguanggaolj/

  4. Solve Error: Library not loaded: @rpath/RoutingHTTPServer.framework/RoutingHTTPServer

    在配置WebDriverAgent的时候,可能会遇到如下的错误: 2018-01-04 09:53:42.759370-0600 WebDriverAgentRunner-Runner[318:133 ...

  5. 21、bootstrap框架

    http://www.bootcss.com/ Bootstrap 插件==全部依赖 jQuery== 请注意,Bootstrap 的所有 JavaScript 插件都依赖 jQuery,因此 jQu ...

  6. select 和epoll模型区别

    1.select 和epoll模型区别 1.1.网络IO模型概述 通常来说,网络IO可以抽象成用户态和内核态之间的数据交换.一次网络数据读取操作(read),可以拆分成两个步骤:1)网卡驱动等待数据准 ...

  7. Java 将word转为pdf jacob方式

    package com.doctopdf; import java.io.File; import com.jacob.activeX.ActiveXComponent; import com.jac ...

  8. js--单选按钮赋值

    var sex='${userInfo.sex}'; if(sex=="女"){ $("input[name=sex][value='女']").attr(&q ...

  9. [转贴] 软件测试职业发展的 A 面和 B 面

    [转贴] 软件测试职业发展的 A 面和 B 面 1.所谓的软件测试技术到底包含什么? 梅子:我先来从传统意义上来谈一下测试技术,主要就是测试分析,测试设计,测试管理,测试执行,自动化测试技术,专项测试 ...

  10. Hash算法和一致性Hash算法

    Hash算法 我们对同一个图片名称做相同的哈希计算时,得出的结果应该是不变的,如果我们有3台服务器,使用哈希后的结果对3求余,那么余数一定是0.1或者2,正好与我们之前的服务器编号相同,如果求余的结果 ...