scala中的可變數據結構和不可變數據結構

不可變

api不太豐富c++

若是是var修飾,引用可變,支持讀寫api

若是是val修飾,引用不可變,只能寫入一次值,其後只讀spa

可變

api豐富與Java中Map基本相似scala

若是是var修飾,引用可變,支持讀寫code

若是是val修飾,引用不可變,支持讀寫io

例子:table

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)

結果:import

Map(k2 -> 2, k3 -> 3, k4 -> 4)
Map(k3 -> 3, k4 -> 4, k2 -> 1)
List(2, 3, 4, 5)
ListBuffer(2, 5, 3, 4)
相關文章
相關標籤/搜索