2016-09-28 45 views
0

我想建立一個地圖ieratively所以我採取了一個可變的地圖。我想用空值初始化它。如何實例化scala中的collection.mutable.Map [String,Any]?

我已經試過這

 val resultingMap: collection.mutable.Map[String, Any] = _ 

但其分配給null和resultingMap因此,當我嘗試將記錄添加到它,它理所當然地拋出異常。

所以我嘗試了哈克的方式這樣

 val resultingMap: collection.mutable.Map[String, Any] = collection.mutable.Map("" -> "") 

它的工作原理,但我想用這樣做的更好+標準方法。

+0

注意'Any'是不是因爲你很可能需要以'cast'(一個危險的運行時操作),它以一種有用的類型使用這種類型。使用'Any'確實是Scala中的代碼異味,因爲運行時間鑄造的危險。 –

+0

是什麼激怒你添加'「」 - >「」'映射? –

+0

@ChrisMartin正如我剛纔提到的,我只是試圖用任何一組值來創建Map,''「 - >」「'只是一個想象中的對 – sachinjain024

回答

3

Map.empty[A, B] create將創建一個空的Map,其中沒有鍵值對。

import scala.collection.mutable._ 

val resultingMap: Map[String, Any] = Map.empty[String, Any] 

斯卡拉REPL

scala> import scala.collection.mutable._ 
import scala.collection.mutable._ 

scala> Map.empty[String, Any] 
res29: Map[String, Any] = Map() 

scala> val map = Map.empty[String, Any] 
map: Map[String, Any] = Map()