Scala 知识点掌握2
Scala 基础知识点巩固2
1、集合中常用的函数
sum / max / min
# 定义一个List[Int]
val list1 = List(1,3,4,6,8,9)
# 取集合中所有元素的和
list1.sum
# 取集合中所有元素的最大值
list1.max
# 取集合中所有元素的最小值
list1.min
2、集合中的其它函数
条件过滤函数 filter(过滤条件表达式)
# 如取出list1中的偶数
list1.filter(e => e%2 == 0)
对嵌套集合压平操作 flatten
# 嵌套集合
val list2 = List(1,2,3)
val list3 = List(4,5,6)
val list4 = List(list2,list3)
# flatten操作
list4.flatten //压平操作是将嵌套在集合内层中的集合的元素放到外层生成新的集合
map 对集合中的元素做映射
# 对list1中所有元素乘以10的操作就用map函数
list1.map( e => e*10 )
flatMap() 相当于是对集合中的元素行进行映射处理,然后再做压平处理
# 例如将集合中的小写字母转换成相对应的大写字母,并保留小写字母
val ls1 = List('a','b','c')
# flatMap操作
val ls2 = ls1.flatMap(ch => List(ch,ch.toUpper)) // toUpper 将小字符转换成大写字符
对集合中所有元素作条件判断 forall(条件判断)
# 判断list1中的所有元素是否都大于0,条件成立返回true,否则返回false
list1.forall(e => e > 0)
对集合中所有元素进行操作 foreach(操作)
# 将list1集合中的每一个元素换行打印出来
list1.foreach(println)
reduceLeft / reduceRight
# 从集合左边开始操作
list1.reduceLeft(_+_)
# 从集合右边开始操作
list1.reduceRight(_+_)
foldLeft / foldRight 带初始值的操作
# foldLeft
list1.foldLeft(10)(_+_)
# foldRight
list1.foldRight(100)(_-_)
Scala 知识点掌握2的更多相关文章
- Scala 知识点掌握1
Scala知识点巩固 1.Scala简介 Scala是一门面向对象和面向函数的编程语言,是一门静态编程语言,如 Java Scala(变量类型在编译阶段确定):源码文件需要基于 JVM 运行的. 动态 ...
- scala知识点(二)
Scala允许使用三个引号来进行多行字符引用:(引自) val longString = """Line 1 Line Line """; ...
- Scala知识点汇总
Scala数组小结 1.定长数组 定长数组:指长度不可变的数组Array.第一种方式:先声明一个数组,后初始化该数组: scala> val array = new Array[Double]( ...
- scala知识点(一)
1.drop,dropRight,dropWhile drop: drop(n: Int): List[A] 丢弃前n个元素,返回剩下的元素 dropRight: dropRight(n: Int): ...
- Scala——面向对象和函数式编程语言
Scala Scala是一门运行时基于JVM的编程语言,具备函数式编程和面向对象特点. 基本知识 basics 任意词均可作为符号名,对于关键词,以反引号包裹,避免使用下划线,避免带美元符的名字. 声 ...
- 【Scala】关于集合的各种知识点
目录 映射Map 不可变Map 概述 操作实例 可变Map 概述 操作实例 Map的遍历 for循环遍历 格式 操作实例 模式匹配遍历 格式 操作实例 Tuple 元祖 概述 定义格式 获取元素方法 ...
- scala的object知识点
1:object的中的代码,会在object对象被调用的时候执行且只会执行一次 object Demo{ println("gaoxing") def name = "n ...
- Scala入门学习笔记四--List使用
前言 本篇将介绍一个和Array很相似的集合List,更多内容请参考:Scala教程 本篇知识点概括 List的构造 List与Array的区别 List的常用方法 List伴生对象的方法 ::和:: ...
- Scala入门学习笔记三--数组使用
前言 本篇主要讲Scala的Array.BufferArray.List,更多教程请参考:Scala教程 本篇知识点概括 若长度固定则使用Array,若长度可能有 变化则使用ArrayBuffer 提 ...
随机推荐
- 加密模块(md5)
一.md5加密 import hashlib s = ' print(s.encode()) m = hashlib.md5(s.encode())# 必须得传一个bytes类型的 print(m.h ...
- 【bzoj4811】[Ynoi2017]由乃的OJ 树链剖分/LCT+贪心
Description 给你一个有n个点的树,每个点的包括一个位运算opt和一个权值x,位运算有&,l,^三种,分别用1,2,3表示. 每次询问包含三个数x,y,z,初始选定一个数v.然后v依 ...
- 用shell脚本安装apache
我们首先创建一个文件为test.sh,执行此文件的方法有以下四种方式: 1../test.sh(必须chmod赋予执行权限) 2.. test.sh 3.sourse test.sh 4.[shell ...
- 关于fatal error LINK1123:failure during conversion to COFF:file invalid or corrupt
今天用Visual Studio 2010编译postgresql工程时突然遇到下面这个编译错误: fatal error LINK1123:failure during conversion to ...
- C# 注册Dll文件
有时会遇到dll在系统中不存在,需要程序自己去注册所需的dll文件. 注册dll 需要用到regsvr32命令,其用法为:"regsvr32 [/s] [/n] [/u] [/i[:cmdl ...
- 条目十五《注意strng实现的多样性》
条目十五<注意strng实现的多样性> 下面以一个打印string空对象的大小切入本条目: #include #include using namespace std; int main( ...
- [WebShow系列] 固定展示界面的现场调用
正在制作......,敬请期待. 固定展示界面的现场调用 现场管理员通过现场控制台可以控制主展示界面,实现 主题 所选选手展示 所选选手打分展示 排行展示 详情排行展示 柱状图展示 界面的展示切换外, ...
- javascrip 中排序的函数怎么理解
其中s是数组[888,2222,9,4]:我不明白sort函数中参数是如何作用的,function中的a和b又是干什么的? 那个function的作用就是比较两个数的大小用的,然后返回结果的正负作为排 ...
- JavaWeb学习笔记(六)—— Cookie&Session
一.会话技术简介 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 在日常生活中,从拨通电话到挂断电话之间的一连串的你问我答的过程 ...
- Rebranding(模拟+思维)
The name of one small but proud corporation consists of n lowercase English letters. The Corporation ...