Map
Map也分为可变Map和不可变Map,默认为不可变Map
不可变Map
- 创建不可变Map,并循环输出key和value值
1>、第一种创建方式:
package scalaP
object EgMap {
def main(args: Array[String]): Unit = {
val m = Map(
//第一种创建方式
"如花" -> "98",
"富贵" -> "99"
)
for ((k,v) <- m){
println(k+":"+v)
}
}
}
运行结果:
2>、第二种创建方式:
package scalaP
object EgMap {
def main(args: Array[String]): Unit = {
//第二种创建方式
val m2 = Map(
("如花","8"),
("富贵","9")
)
foreach中的i可以放在小括号里面
m2.keys.foreach(i=>{
print(i)
println(m2(i))
})
//i也可以放在大括号里面,不影响效果,都可以运行
m2.keys.foreach({
i =>
print(i)
println(m2(i))
})
}
}
运行结果:
可变Map
- 创建集合,并访问其中的Key值
if()else()语句和.getOrElse()语句
添加一个判断语句,可以用if()else()语句,也可以用.getOrElse(),如果访问的Key值存在,则返回Key值,如果不存在,则返回-1。
package scalaP
object EgMap {
def main(args: Array[String]): Unit = {
val m3 = Map(
"u1" -> "123",
"u2" -> "234"
)
//if...else...方法
if(m3.contains("u3"))
m3("u3")
else
print("-1")
println(m3("u1"))
//.getOrElse()方法
/*
val a=m3.getOrElse("u3","-1")
println(a)
*/
}
}
当访问存在的Key值时,就返回对应的value值:
因为是可变Map所以一定要先引入类scala.collection.mutable.Map然后再进行修改,添加,删除,等操作
注意:引入类的操作是import scala.collection.mutable.Map
package scalaP
import scala.collection.mutable.Map
object EgMap {
def main(args: Array[String]): Unit = {
val m3 = Map(
"u1" -> "123",
"u2" -> "234"
)
//修改:(u2的value值修改为002)
m3("u2")="002"
//添加:(u3,u4)
m3 += ("u3" -> "345")
m3 += (("u4","456"))
//删除:(删除u1的键值对)
m3 -= "u1"
for ((k,v) <- m3){
println(k+":" +v)
}
}
}
运行结果:
水平有限,若有错误请指正,改不改另说哦嘻嘻,逗你呢