Scala Map操作
1 package chapter07
2
3 object Test14_HighLevelFunction_Map {
4 def main(args: Array[String]): Unit = {
5 val list = List(1,2,3,4,5,6,7,8,9)
6
7 // 1. 过滤
8 // 选取偶数
9 val evenList = list.filter( (elem: Int) => {elem % 2 == 0} )
10 println(evenList)
11
12 // 选取奇数
13 println(list.filter( _ % 2 == 1 ))
14
15 println("=======================")
16
17 // 2. 映射map
18 // 把集合中每个数乘2
19 println(list.map(_ * 2))
20 println(list.map( x => x * x))
21
22 println("=======================")
23
24 // 3. 扁平化
25 val nestedList: List[List[Int]] = List(List(1,2,3),List(4,5),List(6,7,8,9))
26
27 val flatList = nestedList(0) ::: nestedList(1) ::: nestedList(2)
28 println(flatList)
29
30 val flatList2 = nestedList.flatten
31 println(flatList2)
32
33 println("=======================")
34
35 // 4. 扁平映射
36 // 将一组字符串进行分词,并保存成单词的列表
37 val strings: List[String] = List("hello world", "hello scala", "hello java", "we study")
38 val splitList: List[Array[String]] = strings.map( _.split(" ") ) // 分词
39 val flattenList = splitList.flatten // 打散扁平化
40
41 println(flattenList)
42
43 val flatmapList = strings.flatMap(_.split(" "))
44 println(flatmapList)
45
46 println("========================")
47
48 // 5. 分组groupBy
49 // 分成奇偶两组
50 val groupMap: Map[Int, List[Int]] = list.groupBy( _ % 2)
51 val groupMap2: Map[String, List[Int]] = list.groupBy( data => if (data % 2 == 0) "偶数" else "奇数")
52
53 println(groupMap)
54 println(groupMap2)
55
56 // 给定一组词汇,按照单词的首字母进行分组
57 val wordList = List("china", "america", "alice", "canada", "cary", "bob", "japan")
58 println( wordList.groupBy( _.charAt(0) ) )
59 }
60 }
Scala Map操作的更多相关文章
- scala map操作 简单总结
在函数式编程中有一个核心的概念之一是转换,所以大部份支持函数式编程语言,都支持一种叫map()的动作,这个动作是可以帮你把某个容器的内容,套上一些动作之后,变成另一个新的容器. 现在我们考虑如何用Op ...
- scala - Map基础
Map 构造Map 不可变: val map = Map("sa" -> 1, "s" -> 2)map("sa") = 3 / ...
- Scala实战高手****第6课 :零基础实战Scala集合操作及Spark源码解析
本课内容1.Spark中Scala集合操作鉴赏2.Scala集合操作实战 --------------------------------------------------------------- ...
- python dataframe 针对多列执行map操作
Suppose I have a df which has columns of 'ID', 'col_1', 'col_2'. And I define a function : f = lambd ...
- RxJava Map操作详解
2016-06-06 RxJava是最近两年火起来的一个框架,核心是异步,但是对于我来说印象最深的是响应式编程的思想.最近刚好想把自己的项目改成用RxJava实现,所以就研究了下.抛物线和大头鬼两位大 ...
- 解决升级Spark2.0之后,DataFrame map操作报错
当我们在使用spark1.6的时候,当我们创建SQLContext读取一个文件之后,返回DataFrame类型的变量可以直接.map操作,不会报错.但是升级之后会包一个错误,如下: 报错:No imp ...
- python中的zip、lambda、map操作
python 中有几个比较酷炫的操作,比如:zip.lambda.map 一.zip操作 zip字面意思:拉链.这么来记,把几个东西扔到一个包里,拉上拉链,就算打包好了.通俗点讲,就是把第1个参数.与 ...
- C++ map操作——插入、查找、遍历
c++ map 操作学习 #include <iostream> #include <map> #include <string> #include <vec ...
- scala map的常用操作
package cn.scala_base /** * map常用操作 */ object Map { def main(args: Array[String]): Unit = { //1.不可变m ...
- scala的map操作
新建一个不定参数的 map: var cs = mutable.Map.empty[String, String] 对其进行赋值: cs += (key -> value) 读取里面所有的 ke ...
随机推荐
- 2021-07-20 JavaScript中关于eval()方法
eval()常见用途 1.使用ajax获取到后台返回的json数据时,使用 eval 这个方法将json字符串转换成对象数组 let jsonString = JSON.stringify({fang ...
- OsgEarth开发笔记(四):Qt5.15.2在QtCreator集成Osg3.6.3+OsgEarth3.1+OsgQt的vs2019x64版本开发环境搭建
前言 本篇非常麻烦,博主用QtCreator作为IDE,因为Osg3.6.3放弃对osgQt的支持,集成起来比较繁琐. 前提 基于前面三篇的基础上,才可以进行本篇. Demo演示:Qt ...
- centos7.x及centos8.x安装新版docker
前置步骤 # 如之前安装过docker,请先删除 yum remove docker docker-common docker-selinux docker-engine centos7 # cent ...
- MIG是如何向DDR中写入数据的
1.1 先来看看信号线的描述 我们以X16的器件为例,下面的截图来自 镁光的官方手册 https://media-www.micron.com/-/media/client/global/doc ...
- 使用二进制重排 & Clang插桩技术点来进行iOS冷启动进行优化
1.冷启动 1.1 什么是冷启动? 冷启动是指内存中不包含该应用程序相关的数据,必须要从磁盘载入到内存中的启动过程. 注意:重新打开 APP, 不一定就是冷启动. 当内存不足,APP被系统自动杀死后, ...
- 【Azure 应用服务】调用Azure Function经常提示超时的分析
问题描述 Azure Data Factory 通过 Pipeline 调用Azure Function Http Trigger时遇到返回错误" 500 - The request tim ...
- 3、mysql定位低效率执行SQL
可以通过以下两种方式定位执行效率较低的 SQL 语句. 慢查询日志 : 通过慢查询日志定位那些执行效率较低的 SQL 语句,用--log-slow-queries[=file_name]选项启动时,m ...
- 在Linux下开启指定端口号
1.查看某个端口是否已开启,如果提示no表示未开启 #8888表示要查询的端口号firewall-cmd --query-port=8888/tcp 2.永久开启端口号,提示 success 表示成功 ...
- SQLServer 导入 Excel 表数据报错“文本被截断。。。”
报错详情(关键信息就是:文本被截断) 错误 0xc020901c: 数据流任务 1: 输出"Excel 源输出"(9) 上的 输出列"xxxxx"(78) 出错 ...
- C++入门编程----C++运算符(8)
什么是运算符 运算符是让程序执行特定的数学或逻辑操作的符号,用来表示针对数据的特定操作,也称之为操作符.C++运算符分别有算术运算符.关系运算符.逻辑运算符.赋值运算符.位运算符.移位运算符.size ...