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 ...
随机推荐
- win32-改变显示器的亮度
调用SetMonitorBrightness 代码示例: #pragma comment(lib, "dxva2.lib") #include <windows.h> ...
- Docker进阶之02-Swarm集群入门实践
Docker集群概述 Docker集群有2种方案: 1.在Docker Engine 1.12之前的集群模式被称为经典集群,这是通过API代理系统实现的集群,目前已经不再维护. 2.自Docker E ...
- 解析Spring中的循环依赖问题:初探三级缓存
什么是循环依赖? 这个情况很简单,即A对象依赖B对象,同时B对象也依赖A对象,让我们来简单看一下. // A依赖了B class A{ public B b; } // B依赖了A class B{ ...
- 【LeetCode剑指offer 03】合并两个/K个排序链表
合并两个排序链表 https://leetcode.cn/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof 输入两个递增排序的链表,合并这两个链表并 ...
- 矩池云产品最新动态 All in One
AI/ML 的不断革新,让我们看到了更多激动人心的应用方向,也迸发了更多的训练&应用场景. 在用户的反馈和建议下,矩池云持续丰富和优化在 AI+Science 链路上的相关产品,为了帮助研究人 ...
- 第一百一十六篇: JavaScript理解对象
好家伙,本篇为<JS高级程序设计>第八章"对象.类与面向对象编程"学习笔记 1.关于对象 ECMA-262将对象定义为一组属性的无序集合.严格来说,这意味着对象就是 ...
- Metasploitable3 渗透测试
1.信息手机阶段 信息收集经常使用的软件 功能也比较强大的Nmap Nmap nmap -p- -sS -sV -n -v --reason --open -oX demon.xml 192.168. ...
- 远程服务调用(RPC与Rest本质区别)
一.背景 远程服务将计算机程序的工作范围从单机扩展到网络,从本地延伸至远程,是构建分布式系统的首要基础.远程服务调用(Remote Procedure Call,RPC)在计算机科学中已经存在了超过四 ...
- pip 查看某个包有哪些版本并升级
查看某个包有哪些版本 pip install xxx== 升级包 pip install xxx==1.1
- AMD Intel CPU 对比图