集合化简的流程示意图 | 学习笔记

简介: 快速学习集合化简的流程示意图

开发者学堂课程【Scala 核心编程 - 进阶集合化简的流程示意图学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/610/detail/9053


集合化简的流程示意图


内容介绍:

一.化简

二.说明

三.求和


一.化简

看一个需求:val list =list(1,20,30,4,5),求出 list 的和

化简:

将二元函数引用于集合中的函数,上面的问题当然可以使用便历 list 方法来解决,这里我们使用 scale 的化简方式来完成。


二.说明

说明

1)defreduceleft[B>:A](@deprecatedName('f) op:(B,A)=>B):B

2)reduceleft(f)接收的函数需要的形式为op:(B,A)=>B):B

3)reduceleft(f)的运行规则是从左边开始执行将得到的结果返回给第一个主数

4)然后继续和下一个元素运行,将得到的结果继续返回给第一个参数,继续

5)即://(((1+2)+3}+4)+5)15

如图

image.png


三.求和

刚才描述了求和的过程,前提是 reducelefft 不断求和化解,实际价值就比如将来有一个很多的集合,我要求其中最小的数,这里面有100个数,要求找出最小的数,如果有了这个 reducelefft 那个大,那个小就可以直接看出来,我们在接受一个高阶函数的时候,可以直接看到更多用法,可以不用写函数名,直接就是匿名函数,类似于学加法,函数是编程专门用的数,将来在接受一个函数时,可以直接传入匿名函数,一样可以使用,这是一种语法的规则,类似于一种加法,还有一个流程叫做 reduceright ,它是从右开始化解。

将来接收一个函数时,也可以直接传入一个匿名函数,这是语法的一种规则,从右化解这是 reduceright 唯一不同的地方。

相关文章
|
4月前
|
算法 搜索推荐 Java
图计算中的图剪枝算法是什么?请解释其作用和常用方法。
图计算中的图剪枝算法是什么?请解释其作用和常用方法。
16 0
|
4月前
|
算法 Java 图计算
图计算中的最短路径算法是什么?请解释其作用和常用算法。
图计算中的最短路径算法是什么?请解释其作用和常用算法。
23 0
|
4月前
|
存储 搜索推荐 Java
图计算中的顶点和边是什么?请解释其概念和作用。
图计算中的顶点和边是什么?请解释其概念和作用。
44 0
|
11月前
离散数学_第二章:基本结构:集合、函数、序列、求和和矩阵(1)
离散数学_第二章:基本结构:集合、函数、序列、求和和矩阵(1)
124 0
|
11月前
|
Java
离散数学_十章-图 ( 3 ):由旧图构造新图
离散数学_十章-图 ( 3 ):由旧图构造新图
56 0
|
机器学习/深度学习 存储 算法
十、图(基本知识,存储结构,遍历方法)2
十、图(基本知识,存储结构,遍历方法)
十、图(基本知识,存储结构,遍历方法)2
|
存储 机器学习/深度学习
十、图(基本知识,存储结构,遍历方法)
十、图(基本知识,存储结构,遍历方法)
十、图(基本知识,存储结构,遍历方法)
|
存储 算法 C++
STL设计之链表设计,分块分组件分析,迭代器设计思路
STL设计之链表设计,分块分组件分析,迭代器设计思路
STL设计之链表设计,分块分组件分析,迭代器设计思路
|
Scala 开发者
集合化简介绍和案例 | 学习笔记
快速学习集合化简介绍和案例
143 0
集合化简介绍和案例 | 学习笔记