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的更多相关文章

  1. Scala 知识点掌握1

    Scala知识点巩固 1.Scala简介 Scala是一门面向对象和面向函数的编程语言,是一门静态编程语言,如 Java Scala(变量类型在编译阶段确定):源码文件需要基于 JVM 运行的. 动态 ...

  2. scala知识点(二)

    Scala允许使用三个引号来进行多行字符引用:(引自) val longString = """Line 1 Line Line """; ...

  3. Scala知识点汇总

    Scala数组小结 1.定长数组 定长数组:指长度不可变的数组Array.第一种方式:先声明一个数组,后初始化该数组: scala> val array = new Array[Double]( ...

  4. scala知识点(一)

    1.drop,dropRight,dropWhile drop: drop(n: Int): List[A] 丢弃前n个元素,返回剩下的元素 dropRight: dropRight(n: Int): ...

  5. Scala——面向对象和函数式编程语言

    Scala Scala是一门运行时基于JVM的编程语言,具备函数式编程和面向对象特点. 基本知识 basics 任意词均可作为符号名,对于关键词,以反引号包裹,避免使用下划线,避免带美元符的名字. 声 ...

  6. 【Scala】关于集合的各种知识点

    目录 映射Map 不可变Map 概述 操作实例 可变Map 概述 操作实例 Map的遍历 for循环遍历 格式 操作实例 模式匹配遍历 格式 操作实例 Tuple 元祖 概述 定义格式 获取元素方法 ...

  7. scala的object知识点

    1:object的中的代码,会在object对象被调用的时候执行且只会执行一次 object Demo{ println("gaoxing") def name = "n ...

  8. Scala入门学习笔记四--List使用

    前言 本篇将介绍一个和Array很相似的集合List,更多内容请参考:Scala教程 本篇知识点概括 List的构造 List与Array的区别 List的常用方法 List伴生对象的方法 ::和:: ...

  9. Scala入门学习笔记三--数组使用

    前言 本篇主要讲Scala的Array.BufferArray.List,更多教程请参考:Scala教程 本篇知识点概括 若长度固定则使用Array,若长度可能有 变化则使用ArrayBuffer 提 ...

随机推荐

  1. 【noip2017】【Luogu3960】列队 线段树

    题目描述 Sylvia 是一个热爱学习的女♂孩子. 前段时间,Sylvia 参加了学校的军训.众所周知,军训的时候需要站方阵. Sylvia 所在的方阵中有 n \times mn×m 名学生,方阵的 ...

  2. 表单校验--js部分

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  3. 【数据结构】单链表&&静态链表详解和代码实例

    喜欢的话可以扫码关注我们的公众号哦,更多精彩尽在微信公众号[程序猿声] 01 单链表(Singly Linked List ) 1.1 什么是单链表? 单链表是一种链式存储的结构.它动态的为节点分配存 ...

  4. php中magic_quotes_gpc的作用 解决日文数据提交后多出来反斜杠的问题

    magic_quotes_gpc发生作用是在传递$_GET,$_POST,$_COOKIE时 1.条件: magic_quotes_gpc=off写入数据库的字符串未经过任何过滤处理.从数据库读出的字 ...

  5. 老男孩python作业5-开发一个简单的python计算器

    开发一个简单的python计算器 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568 ...

  6. kotlin 注意的地方

    1 . kotlin let 用法: let(val -> ) 注意:这  -> 后面不能有 花括号!!!! 2 . kotlin 中 如果使用了 @Transactional 注解.请让 ...

  7. LeetCode153.寻找旋转排序数组中的最小值

    153.寻找旋转排序数组中的最小值 描述 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] ). 请找出 ...

  8. HDU - 5119 DP

    题意:求异或大于等于m的方案数 j枚举大了会WA..emmm #include<iostream> #include<algorithm> #include<cstdio ...

  9. PHP_$_SERVER中QUERY_STRING,REQUEST_URI的用法

    $_SERVER存储当前服务器信息,其中有几个值如 $_SERVER["QUERY_STRING"], $_SERVER["REQUEST_URI"], $_S ...

  10. $_SERVER['SCRIPT_NAME']、$_SERVER['SCRIPT_FILENAME']及__FILE__不同

    $_SERVER['SCRIPT_NAME'].$_SERVER['SCRIPT_FILENAME']及__FILE__不同 在PHP中,有时需要知道脚本所处的位置,这时会用到$_SERVER['SC ...