Article Directory
concept
Map can be called mapping. It is composed of a collection of keys. In the scala, Map is also divided into variable and immutable Map Map.
Immutable Map
definition
grammar
val/var map = Map(键->值, 键->值, 键->值...) // 推荐,可读性更好
val/var map = Map((键, 值), (键, 值), (键, 值), (键, 值)...)
The sample code
//定义一个映射,包含学生姓名和年龄数据 zhangsan 18 lisi 20
//方式一
val map = Map("zhangsan"->18, "lisi"->20)
//方式二
val map = Map(("zhangsan", 18), ("lisi", 20))
//获取zhangsan的年龄 根据key获取value
map("zhangsan")
Variable Map
Defines the syntax and the same immutable Map. But the definition need to manually import variable Map
import scala.collection.mutable.Map
The sample code
//定义一个映射,包含学生姓名和年龄数据 zhangsan 18 lisi 20
//完整写法
val map: mutable.Map[String, Int] = mutable.Map("zhangsan"->18, "lisi"->20)
//省略写法 mutable 不建议省略 这样能更好区分
val map = mutable.Map("zhangsan"->18, "lisi"->20)
//修改 zhangsan 的年龄为 15
map("zhangsan") = 15
//输出修改后的值
println(map)
Basic mapping operation
Basic Operations
- Get the value (
map(key)
) - Get all Key
map.keys
( ) - Get all value
map.values
( ) - Traversal map collection
- Getorelse
- Increase key, value for
- Delete key
The sample code
//定义一个映射,包含学生姓名和年龄数据 zhangsan 18 lisi 20
val map = Map("zhangsan"->18, "lisi"->20)
//获取zhangsan的年龄
map("zhangsan")
//获取所有的学生姓名
map.keys
//获取所有的学生年龄
map.values
//打印所有的学生姓名和年龄
for((x,y) <- map) println(s"$x $y")
//获取wangwu的年龄,如果wangwu不存在,则返回-1
map.getOrElse("wangwu", -1)
//新增一个学生:wangwu, 35
map + "wangwu"->35
//将lisi从可变映射中移除
map - "lisi"
//打印map
println(map)