首页 > 大数据 > 数据分析 > 好程序员大数据学习路线分享Scala系列之映射Map
在Scala中,把哈希表这种数据结构叫做映射。
在Scala中,有两种Map,一个是immutable包下的Map,该Map中的内容不可变;另一个是mutable包下的Map,该Map中的内容可变。
构建一个不可变的map
使用元组方式构建
构建一个可变的map
根据键获取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+" ")
}
执行结果
可变map
import scala.collection.mutable
object 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)
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69913892/viewspace-2655978/ ,如需转载,请注明出处,否则将追究法律责任。