请选择 进入手机版 | 继续访问电脑版

好程序员-千锋教育旗下高端IT职业教育品牌

400-811-9990
我的账户
好程序员

专注高端IT职业培训

亲爱的猿猿,欢迎!

已有账号,请

如尚未注册?

[BigData] 好程序员大数据学习路线分享Scala系列之映射Map

[复制链接]
叶子老师 发表于 2019-9-9 15:01:19 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
好程序员大数据培训学习路线分享Scala系列之映射Map

4.2. 映射(map)
在Scala中,把哈希表这种数据结构叫做映射。

4.2.1. 构建映射
在Scala中,有两种Map,一个是immutable包下的Map,该Map中的内容不可变;另一个是mutable包下的Map,该Map中的内容可变。

构建一个不可变的map






使用元组方式构建






构建一个可变的map






4.2.2. 获取和修改映射中的值
根据键获取map中对应的值,可以有以下三种方法,尤其推荐使用getOrElse方法。






修改可变map信息,遍历访问map

object MappingDemo { def main(args: Array[String]): Unit = { //定义构建一个可变的map val scores = scala.collection.mutable.Map ("zhangsan" -> 90, "lisi" -> 80, "wangwu" -> 0) //val scores2 = scala.collection.mutable.Map ("moumou"->50)    //修改map中对应键的值 scores("wangwu") = 100 //添加新的键值到map中 scores("zhaoliu") = 50 //类似 scores.update("zhangsan",50)    scores += ("sunqi" -> 60, "qianba" -> 99) //scores ++ =scores2 //移除某个键值对    scores -= "zhangsan" //类似 scores.remove("zhangsan") //scores -- =scores2 不好用??? //获取键的集合并遍历 //意义不大?如何通过建取到值 val res = scores.keySet for(elem <- res) print(elem + "  ") println() //遍历map for ((k,v) <- scores) print(k+":"+v+"  ")  }

执行结果






4.2.3. HashMap
可变map

import scala.collection.mutableobject MutMapDemo extends App{ val map1 = new mutable.HashMap[String, Int]() //向map中添加数据 map1("spark") = 1  map1 += (("hadoop", 2))  map1.put("storm", 3) println(map1) //从map中移除元素  map1 -= "spark"  map1.remove("hadoop") println(map1)}

好程序员大数据培训官网:http://www.goodprogrammer.org/bigdata.shtml


精彩内容,一键分享给更多人!
回复

使用道具 举报

您需要登录后才可以回帖

本版积分规则

关注我们
好程序员
千锋好程序员

北京校区(总部):北京市海淀区宝盛北里西区28号中关村智诚科创大厦

深圳西部硅谷校区:深圳市宝安区宝安大道5010号深圳西部硅谷B座A区605-619

杭州龙驰智慧谷校区:浙江省杭州市下沙经济技术开发区元成路199号龙驰智慧谷B座7层

郑州校区:郑州市二七区航海中路60号海为科技园C区10层、12层

Copyright 2007-2019 北京千锋互联科技有限公司 .All Right

京ICP备12003911号-5 京公安网11010802011455号

请您保持通讯畅通1对1咨询马上开启