面向函数编程:集合
不可变集合 immutable
Map
package scala
object Demo20Map {
def main(args: Array[String]): Unit = {
/**
*
* map kv 格式
*
* 默认不可变
*/
//"003" -> "王五" 构建一个二元组
val map = Map(("001", "张三"), ("002", "李四"), "003" -> "王五")
println(map)
//可以通过key 获取value
//如果key 不存在会报错
println(map("001"))
//如果key 不存在返回默认值
println(map.getOrElse("005", "默认值"))
println(map.keys)
println(map.values)
val map1 = Map(("001", 23), ("002", 24), "003" -> 25)
//将年龄加一
/**
* map ; 将map中的元素传给后面的函数,返回一个新的map 。 函数的参数是一个二元组
* mapValues: 将map 中所有value 传给后面的函数,返回一个新的map
*
*/
val map2: Map[String, Int] = map1.map((kv: (String, Int)) => {
val key: String = kv._1
val value: Int = kv._2
(key, value + 1)
})
println(map2)
val map3: Map[String, Int] = map1.mapValues((value: Int) => value + 1)
println(map3)
}
}