scala的map映射:java
scala> val map1 = Map("scala"->1, "java"->2,"python"->3) //定義map方法一,都是調用其靜態方法python
map1: scala.collection.immutable.Map[String,Int] = Map(scala -> 1, java -> 2, python -> 3)c#
scala> val map2 = Map(("scala",1),("java",2),("python",3)) //定義map方法二,都是調用其靜態方法spa
map2: scala.collection.immutable.Map[String,Int] = Map(scala -> 1, java -> 2, python -> 3)scala
scala> map1("scala") //取鍵爲scala對應的內容get
res39: Int = 1io
scala> map1("scala") = 5 //默認是不可變的,須要導入包纔可改map裏面對key值對應的內容table
^import
error: value update is not a member of scala.collection.immutable.Map[String,Int]變量
did you mean updated?
scala> import scala.collection.mutable._
import scala.collection.mutable._
scala> val map1 = Map("scala"->1, "java"->2,"python"->3) //導包後要從新定義,由於是沒導包前定義的,默認爲不可變的,因此須要在導包後定義的纔是變長map
map1: scala.collection.mutable.Map[String,Int] = HashMap(python -> 3, java -> 2, scala -> 1)
scala> map1("scala") = 5 //更改鍵是scala的對應內容 ,val 修飾的是變量引用不可變,如今這個修改的是變量引用對應的內容。
scala> map1("scala")
res43: Int = 5
scala> map1.getOrElse("C#",-1) //取鍵爲「c#", 如若映射裏面沒有此鍵時會報錯,常使用方法getOrElse(鍵值,沒有時返回-1)
res44: Int = -1