Scala--reduceLeft
reduceLeft神语法
val a = Array(20, 12, 6, 15, 2, 9)
1
2
3
4
5
6
7
8
|
scala> a.reduceLeft( _ + _ ) // 数组求和 res 0 : Int = 64 scala> a.reduceLeft( _ * _ ) // 数组求乘积 res 1 : Int = 388800 scala> a.reduceLeft( _ min _ ) // 数组求最小值 res 2 : Int = 2 scala> a.reduceLeft( _ max _ ) // 数组求最大值 res 3 : 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 y scala> a.reduceLeft(f) res 0 : 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( _ + _ ) // 数组求和 res 0 : Int = 64 scala> a.reduceLeft( _ * _ ) // 数组求乘积 res 1 : Int = 388800 scala> a.reduceLeft( _ min _ ) // 数组求最小值 res 2 : Int = 2 scala> a.reduceLeft( _ max _ ) // 数组求最大值 res 3 : 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 y scala> a.reduceLeft(f) res 0 : 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 /** * ...
随机推荐
- GLSL传递数组
static const char *microshaderFragSource = { "varying vec4 color;\n" "uniform bool te ...
- 谢大神给的C++和C# DES加解密代码
// CPPdesTest.cpp : 定义控制台应用程序的入口点.// #include "stdafx.h"//#include <windows.h>//#inc ...
- shell脚本监控网站状态
shell脚本监控网站状态 #!/bin/sh date=`date +"%Y%m%d-%H%M"` title="status" contentFail=&q ...
- 7款让人惊叹的HTML5粒子动画特效(转载)
1.HTML5 Canvas粒子模拟效果 这是一款利用HTML5 Canvas模拟出来的30000个粒子动画,当你用鼠标在canvas画布上移动时,鼠标周围的一些粒子就会跟着你移动,并形成一定的图案, ...
- 16-1 ECMA5与ECMA6的函数定义
ECMA5: function Drag(id){ this.ele = document.getElementById(id); var that = this; this.ele.onmoused ...
- 【C++/类与对象总结】
1.以上是对本章知识的大致梳理,下面通过我自己在编程中遇到的问题再次总结. 私有成员必须通过get()函数访问吗?能不能直接调用? 私有成员必须通过公共函数接口去访问,比如设置set()修改成员内容, ...
- mysql winx64安装配置方法
1.mysql-5.7.21-winx64.zip解压到自己指定的路径 2.自己新建Data文件夹和my.ini文件 my.ini内容,直接复制修改路径即可 my.ini需要保存为ANSI格式 ,否 ...
- oracle安装教程
首先下载oracle 12c的安装包(一共有两个组成),下载完之后将两个压缩文件解压到同一个目录下 https://pan.baidu.com/s/1ydsClsHv04RAwaoGmHrFVQ ht ...
- 剑指offer——python【第53题】表示数值的字符串
题目描述 请实现一个函数用来判断字符串是否表示数值(包括整数和小数).例如,字符串"+100","5e2","-123","3.1 ...
- 前端 jquery获取当前页面的URL信息
以前在做网站的时候,经常会遇到当前页的分类高亮显示,以便让用户了解当前处于哪个页面.之前一直是在每个不同页面写方法.工程量大,也不便于修改.一直在想有什么简便的方法实现.后来在网上查到可以用获取当前U ...