好程序员大数据学习路线分享Scala系列之映射Map首先我们先来看一下什么是映射(map)
在Scala中,把哈希表这种数据结构叫做映射。
- 构建映射
在Scala中,有两种Map,一个是immutable包下的Map,该Map中的内容不可变;另一个是mutable包下的Map,该Map中的内容可变。
构建一个不可变的map
使用元组方式构建
构建一个可变的map
- 获取和修改映射中的值
根据键获取map中对应的值,可以有以下三种方法,尤其推荐使用getOrElse方法。

修改可变map信息,遍历访问map
MappingDemo {
def main(args: Array[String]): Unit = {
//定义构建一个可变的mapval 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.keySetfor(elem <- res) print(elem + " ")println()//遍历mapfor ((k,v) <- scores) print(k+":"+v+" ")}
执行结果
- HashMap
可变map
import scala.collection.mutable
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)
}
继续阅读与本文标签相同的文章
下一篇 :
E-HPC支持多队列管理和自动伸缩
-
X-Pack Spark 监控指标详解
2026-05-19栏目: 教程
-
招募令:阿里云MVP全球招募中,我们的征途是星辰大海!
2026-05-19栏目: 教程
-
dnspod配置CNAME流程
2026-05-19栏目: 教程
-
使用Gitbook打造个人知识归档系统
2026-05-19栏目: 教程
-
如何在新网配置CNAME的操作步骤
2026-05-19栏目: 教程
