scala的map映射

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

相關文章
相關標籤/搜索