Scala--reduceLeft
reduceLeft神语法
val a = Array(20, 12, 6, 15, 2, 9)
|
1
2
3
4
5
6
7
8
|
scala> a.reduceLeft(_ + _) // 数组求和res0: Int = 64scala> a.reduceLeft(_ * _) // 数组求乘积res1: Int = 388800scala> a.reduceLeft(_ min _) // 数组求最小值res2: Int = 2scala> a.reduceLeft(_ max _) // 数组求最大值res3: Int = 20 |
使用函数
自定义函数实现数组求最大值功能
|
1
2
3
4
|
scala> val a = Array(20, 12, 6, 15, 2, 9)scala> val f = (x:Int, y:Int) => x max yscala> 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 = 64scala> a.reduceLeft(_ * _) // 数组求乘积res1: Int = 388800scala> a.reduceLeft(_ min _) // 数组求最小值res2: Int = 2scala> a.reduceLeft(_ max _) // 数组求最大值res3: Int = 20 |
使用函数
自定义函数实现数组求最大值功能
|
1
2
3
4
|
scala> val a = Array(20, 12, 6, 15, 2, 9)scala> val f = (x:Int, y:Int) => x max yscala> a.reduceLeft(f)res0: Int = 20 |
实现原理
第一、第二个数的比较结果再与第三个数进行比较,以此类推。x为上一次结果,y为本次比较数值
Scala--reduceLeft的更多相关文章
- scala flatMap reduceLeft foldLeft
object collection_t1 { def flatMap1(): Unit = { val li = List(,,) val res = li.flatMap(x => x mat ...
- Beginning Scala study note(6) Scala Collections
Scala's object-oriented collections support mutable and immutable type hierarchies. Also support fun ...
- Beginning Scala study note(3) Object Orientation in Scala
1. The three principles of OOP are encapsulation(封装性), inheritance(继承性) and polymorphism(多态性). examp ...
- Scala 中下划线的用途
转载自:https://my.oschina.net/leejun2005/blog/405305 Scala 作为一门函数式编程语言,对习惯了指令式编程语言的同学来说,会不大习惯,这里除了思维方式之 ...
- Scala基础语法
/* 学慕课网上<Scala程序设计>课程跟着敲的代码 作为代码参考也是很好的 在scala_ide.org上下载eclipse IDE,新建一个worksheet,就可以像在xcode的 ...
- Scala HandBook
目录[-] 1. Scala有多cool 1.1. 速度! 1.2. 易用的数据结构 1.3. OOP+FP 1.4. 动态+静态 1.5. DSL 1.6 ...
- Spark之scala
一.什么是scala scala 是基于JVMde 编程语言.JAVA是运行在jvm上的编程语言,java 源代码通过jvm被编译成class 文件,然后在os上运行class 文件.scala是运行 ...
- Scala Collection简介
Traversable vs Iterable Traversable, Iterable 都是trait. Iterable 继承 Traversable. Traversable: 支持forea ...
- Scala _ [underscore] magic
I started learning Scala a few days before. Initially i was annoyed by the use of too many symbols i ...
- scala实现kmeans算法
算法的概念不做过都解释,google一下一大把.直接贴上代码,有比较详细的注释了. 主程序: import scala.io.Source import scala.util.Random /** * ...
随机推荐
- ubuntu开机后弹出System program problem detected的解决办法
sudo gedit /etc/default/apport 将enabled=1改为enabled=0保存退出重启后就可以了
- (二)区块链的共识算法:PoS 及其 例子 代码 实现
作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguan ...
- Spring AOP @AspectJ 入门基础
需要的类包: 1.一个简单的例子 Waiter接口: package com.yyq.annotation; public interface Waiter { void greetTo(String ...
- Centos 7内核3升级到4
步骤 1:检查已安装的内核版本 让我们安装了一个发行版,它包含了一个特定版本的内核.为了展示当前系统中已安装的版本,我们可以: # uname -sr 下面的图片展示了在一台 CentOS 7 服务器 ...
- 浏览器(或客户端)触发,后台运行php脚本
既我从浏览器这端触发服务器上的php脚本,要想让服务器端的php脚本一直执行,我得把该网页一直开着,这样就达不到我不开电脑不开网页进行爬取的目的,因此查找了些资料,得知 ignore_user_abo ...
- maven的tomcat插件启动报错
错误 :: java.lang.ClassCastException: org.springframework.web.filter.CharacterEncodingFilter cannot ...
- hibernate03增删改查
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hiber ...
- python开发 *进程数据隔离.守护进程,进程同步工具 * 180725
进程数据隔离.守护进程,进程同步工具 一.进程之间的数据隔离: from multiprocessing import Process n=100 #主程序中变量n= def func(): glob ...
- Android基础总结+SQlite数据库【申明:来源于网络】
Android基础总结+SQlite数据库[申明:来源于网络] 基础总结篇之一:Activity生命周期:http://blog.csdn.net/liuhe688/article/details/6 ...
- 浅谈Java对象的equals方法
相等与同一: 如果两个对象具有相同的类型以及相同的属性值,则称这两个对象相等. 如果两个引用对象指的是同一个对象,则称这两个变量同一. ==是一个比较运算符,基本数据类型比较的是值,引用数据类型比较的 ...