前言
map在scala的开发中算是使用非常频繁的集合之一,本文将通过实际的代码演示下map在scala中的使用
1、创建map
scala中的map主要分为2种类型,可变的map和不可变的map,这个和数组类似
def main(args: Array[String]): Unit = {
//不可变map
val map1 = Map("name" -> "zhangsan","age" -> 12)
println(map1)
println()
//可变map
val map2 = mutable.Map("name" -> "zhangsan","age" -> 12)
println(map2)
//通过二元组的方式创建
val map34 = mutable.Map(("name","jike"),("age",12),("city","hangzhou"))
println(map34)
}
当然,也可以创建一个空的map,然后往map里面填充数据
val map3 = new mutable.HashMap[String,String];
map3.put("name","jike")
map3.put("city","hangzhou")
println(map3)
println()
2、map中元素的修改与删除
修改map中的元素,必须是可变的map才可以做此操作
//往map中继续添加元素
println()
map34.put("name","jiky")
println(map34)
修改已经存在的某个元素只需要替换key的值即可
map继续添加元素
map34 += ("salary" -> 10000)
println(map34)
删除元素
//删除元素
println()
map34 -= ("salary","10000")
println(map34)
3、map中获取元素
scala中,提供了3种获取map中的key的方式,分别是:map(key),map.get(key),map.getOrElse()
//通过二元组的方式创建
val map34 = mutable.Map(("name","jike"),("age",12),("city","hangzhou"))
println(map34)
println()
//直接获取某个存在的key
println(map34("name"))
//直接获取某个存在的key
println(map34.get("age").get)
//直接获取某个存在的key,不存在,使用默认值
println(map34.getOrElse("age1","默认的值"))
3、map遍历
scala中提供了多种遍历内部元素的方式,现列举如下
//通过二元组的方式创建
val map34 = mutable.Map(("name","jike"),("age",12),("city","hangzhou"))
println(map34)
println()
//map遍历
println()
for((k,v) <- map34) println("k=" + k +",v="+v)
println()
for(v <- map34.keys) println("v="+v)
println()
for(v <- map34.values) println("v="+v)
println()
for(v <- map34) println("v="+v._2)
通过上面几种方式,都可以对整个map做遍历操作,其中最后一种得到的v是一个元组,需要继续从元组中获取value的值