不可变
api不太丰富
如果是var修饰,引用可变,支持读写
如果是val修饰,引用不可变,只能写入一次值,其后只读
可变
api丰富与Java中Map基本类似
如果是var修饰,引用可变,支持读写
如果是val修饰,引用不可变,支持读写
例子:
var b:Map[String,Int]=Map("k1"->1,"k2"->2)
b-=("k1")
b+=("k3"->3,"k4"->4)
println(b)
//val c:Map[String,Int]=Map("k1"->1,"k2"->2)
//c-=("k1")
//c+=("k3"->3,"k4"->4)
//println(c) 报错
import scala.collection.mutable.Map
val a:Map[String,Int]=Map("k1"->2,"k2"->1)
a-=("k1")
a+=("k3"->3,"k4"->4)
println(a)
var c:List[Int]=List(1,2)
c-=(1)
c:+=(3)
c++=List(4,5)
println(c)
import scala.collection.mutable.ListBuffer
val d:ListBuffer[Int]=ListBuffer(1,2)
d-=(1)
d+=(5)
d++=ListBuffer(3,4)
println(d)
结果:
Map(k2 -> 2, k3 -> 3, k4 -> 4)
Map(k3 -> 3, k4 -> 4, k2 -> 1)
List(2, 3, 4, 5)
ListBuffer(2, 5, 3, 4)