Scala的 Map 概述
Map(映射)是一种可迭代的键值对(Key/Value)结构,所有值都可以通过键来获取,Map中的键都是唯一的。定义Map时,需要为键值对定义类型。
————Scala 的 Map 的定义————
在Java中,Map是以键值对(K,V)的形式存在的,例如(Key1,V1)。在Scala中,Map 集合同样是以键值对的方式存在的,应用非常广泛。
————Scala 的 Map 的创建————
在Scala中,有两种创建Map的方式,分别是Map(k1->v1,k2->v2,..) 和 Map((k1,v1),(k2,v2),..)。
Map(k1->v1,k2->v2,..) 中的 k1->v1 表示第一个元素,k2->v2表示第二个元素。
第二种方式 Map((k1,v1),(k2,v2),..)是通过元组的方式定义的。
———— Scala 的 Map 的分类————
Scala的Map有两种类型,即可变的和不可变的。上述创建Map的方式是不可变的,如果想创建可变的Map,需要导人指定的包,创建方式与不可变的方式相同。
Scala 的可变 Map常用操作
Scala的可变Map常用操作有增加、删除、修、查询等。
Scala 的不可变Map常用操作
由于是不可变Map,所以不可以进行更新操作。添加、删除、查询和遍历操作与之前介绍的操作方法相同。
import scala.collection.mutable
object t14 {
def main(args: Array[String]): Unit = {
//创建 1.Map("苹果" -> 9,"香蕉" -> 8) 2.Map(("苹果",9),("香蕉",8))
//不可变Map
val f1:Map[String,Int] = Map("苹果" -> 9,"香蕉" -> 8) //:Map[String,Int]可省略
//1.添加
val f1_1 = f1 + ("梨" -> 4)
println(f1_1)
//可变Map
val f2 = mutable.Map("苹果" -> 9,"香蕉" -> 8)
//1.添加 用+=或put
f2 += ("梨" -> 4)
f2.put("葡萄",11)
println(f2)
//2.查询
//2.1
val rs = f2.get("梨") //找不到,返回None 它得到的是一个包装对象,具体的内容需要再次调用get re.get
//2.2
val rs1 = f2("梨") //找不到,直接报错
println(rs.get,rs1)
//3.删除
f2.remove("苹果")
f2 -= "香蕉"
println(f2)
//4.遍历
//4.1 for循环
for((k,v) <- f2){
println(s"${k}的价格是:${v}")
}
println("-"*15)
//4.2 foreach
f2.foreach{case (key,value)=>
println(s"${key}的价格是:${value}")
}
}
}
标签:Map,f2,val,Scala,println,集合,k2
From: https://blog.csdn.net/2402_87106544/article/details/143581751