博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Scala学习第六天 Map、Tuple、Zip实战解析
阅读量:2200 次
发布时间:2019-05-03

本文共 1422 字,大约阅读时间需要 4 分钟。

信息来源于 DT大数据梦工厂微信公众账号:DT_Spark

DT大数据梦工厂群号:302306504王家林老师微信号:wangjialinandroid
1、Map、Tuple、Zip使用
(1)Map本身是映射,映射关系应用广泛,比如配置信息一般是映射,key-value的方式
(2)Tuple是非常重要的数据结构,使用Tuple可以把不同数据类型的元素组成一个集合,Tuple的应用当函数返回许多值,可以用Tuple接收。
(3)Zip会把相应的元素结合起来
2、Map实战

val map = Map("book" -> 10,"gun" ->18,"ipad" ->1000)  /*这里定义的Map是imutable,也就是不可变的Map,例如key是"book",value是10等*/for((k,v) <- map) yield (k,v * 0.9)  /*for循环,将map的三个key、value模式匹配到(k,v)中,再value乘以0.9,重新组成Map
的集合*/
Valscores = Scala.collection.mutable.Map("Scala"->7,"Hadoop" -> 8,"Spark" -> 10)//这里定义的是mutable的Map,可修改的MapValhadoopSore = scores.getOrElse("Hadoop",0)  /*为了防止寻找的key不存在,可以使用getOrElse,如果存在key返回它的value,如果不存在返回指定值0*/scores += ("r" -> 9)//因为是mutable,可以增加元素scores -= "Hadoop"//因为是mutable,可以删减元素
valsortedScore = scala.collection.immutable.SoreteMap("Scala" ->7,"Hadoop" -> 8,"Spark"->10)  /*如果我们想让Map按key值排序,可以使用SortedMap,按字典排序,所以是("Hadoop" -> 8,"Scala"-> 7,"Spark" -> 10)*/

3、Tuple实战

val tuple= (1,2,3.14,"Rocky","Spark")valthird=tuple._3val(first,second,third,fourth,fifth)=tuple  //把tuple的值赋值给元组val(f,s,_,_,_) = tuple  //不需要返回所有值时,使用占位符"RockySpark".partition(_.isUpper)  /*判断字符串的字符是否是大写,大写的组成一个集合,其他的元素组成一个集合  结果是:(RS,ock park)*/

4、Zip实战

Zip在翻译又称为拉链操作,将两个数组(或者其他集合)相应位置上的元素组成一个pair数组

valsymbols = Array(“[“,”-“,”]”)valcounts = Array(2,5,2)val pairs= sysbols.zip(counts)for((x,y)<- pairs) print(x * y)

Scala 深入浅出实战经典(1-64讲)完整视频、PPT、代码下载:

百度云盘:

腾讯微云:

360云盘: 访问密码 45e2

转载地址:http://eerub.baihongyu.com/

你可能感兴趣的文章
【LEETCODE】147- Insertion Sort List [Python]
查看>>
【算法】- 动态规划的编织艺术
查看>>
用 TensorFlow 让你的机器人唱首原创给你听
查看>>
对比学习用 Keras 搭建 CNN RNN 等常用神经网络
查看>>
深度学习的主要应用举例
查看>>
word2vec 模型思想和代码实现
查看>>
怎样做情感分析
查看>>
用深度神经网络处理NER命名实体识别问题
查看>>
用 RNN 训练语言模型生成文本
查看>>
RNN与机器翻译
查看>>
用 Recursive Neural Networks 得到分析树
查看>>
RNN的高级应用
查看>>
TensorFlow-7-TensorBoard Embedding可视化
查看>>
轻松看懂机器学习十大常用算法
查看>>
一个框架解决几乎所有机器学习问题
查看>>
特征工程怎么做
查看>>
机器学习算法应用中常用技巧-1
查看>>
机器学习算法应用中常用技巧-2
查看>>
通过一个kaggle实例学习解决机器学习问题
查看>>
决策树的python实现
查看>>