集合化简介绍和案例 | 学习笔记

简介: 快速学习集合化简介绍和案例

开发者学堂课程【Scala 核心编程 - 进阶集合化简介绍和案例学习笔记,与课程紧密连接,让用户快速学习知识。

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


集合化简介绍和案例


内容介绍

一、化简介绍

二、代码演示


一、化简介绍

1.需求引入

val list=List(1,20,30,4,5),求出 list 的和。

2.化简含义

将二元函数引用于集合中的函数。二元函数即接收两个参数的函数,以上引入的需求不仅可以使用遍历list方法来解决,同时也能使用 scala 的化简方式完成。

3.案例演示

val list=List(1,20,30,4,5)

def sum(n1:lnt,n2:lnt):lnt={

n1+n2

}

val res=list reduceLeft(sum)

Println(res=+res)

//代码说明

  1. reduceLeft函数的作用:从左开始化简
  2. defreduceLeft[B>:A](@deprecatedName(f)op:B,A)=>B):B

B,A为接收的两个参数

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

接收的两个参数返回的结果会作为下一次调用的第一个参数,即B

  1. reduceLeft(f)的运行规则是从左边开始执行,将得到的结果返回给第一个参数与下一个元素运行,将得到的结果再次返回给第一个参数,继续调用
  2. 即://((((1+2)+3)+4)+5)=15


二、代码演示

1.写入代码

将下列代码写入 ReduceDemo01

val list=List(1,20,30,4,5)

def sum(n1:lnt,n2:lnt):lnt={

n1+n2

}

2.位置说明

image.png

3.具体代码

package com. atguigu. chapter11

object Reduc eDemo01 {

def main(args: Array[String]):Unit = {

/*

使用化简的方式来计算 list 集合的合

*/

val list = List(1, 20, 30, 4, 5)

val res = list.reduceLeft(sum)

//执行的流程分析

//步骤1(1+20)

//步骤2(1+20)+30

//步骤3((1+20)+30)+4

//步骤4(((1+20)+30)+4)+5=60

println("res="+res) // 60

}

def sum(n1: Int, n2: Int): Int = {

println(sum被调用~~”)

n1+n2

}

}

4.对 ReduceLeft 的运行机制的说明

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

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

接收的两个参数返回的结果会作为下一次调用的第一个参数,即B

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

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

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

相关文章
|
关系型数据库 MySQL 网络安全
MHA 高可用配置 及故障切换
MHA 高可用配置 及故障切换
|
Kubernetes Cloud Native 数据安全/隐私保护
云原生|kubernetes |部署k8s图形化管理组件 kuboard v3
云原生|kubernetes |部署k8s图形化管理组件 kuboard v3
988 0
Looper.myLooper()和getMainLooper()
Looper.myLooper()和getMainLooper()
531 0
|
存储 移动开发 搜索推荐
Web开发中会话跟踪的方法有哪些?
Web开发中会话跟踪的方法有哪些?
173 0
|
开发工具 对象存储 UED
IMM支持视频截帧和生成雪碧图功能
智能媒体管理已经支持了视频截帧和雪碧图生成功能,可以方便的在一次请求完成视频首帧、封面、雪碧图生成工作。
1261 0
IMM支持视频截帧和生成雪碧图功能
|
SQL 分布式计算 DataWorks
DataWorks 2020-11 产品月刊
本月DataWorks产品月刊为您带来 产品活动: 1.首月特惠!DataWorks专业版原价5000元现仅需199元;独享数据集成/调度资源组首月5折 2.夺宝计划火热进行中,完成任务即可领取定制礼包。 产品功能更新: 1.性能高1倍,价格低3/4!数据库实时同步新选择! 2.DataWorks数据集成推出同步解决方案模块 3.DataWorks数据服务-脚本模式升级
14108 0
|
搜索推荐 网络安全 数据安全/隐私保护
|
3天前
|
数据采集 人工智能 安全
|
12天前
|
云安全 监控 安全