Come sempre, dovresti chiedere se hai davvero bisogno di una mappa mutabile.
mappe immutabili sono banali per costruire:
val map = Map(
"mykey" -> "myval",
"myotherkey" -> "otherval"
)
mappe mutabili non sono diverse al momento della prima fase di costruzione:
val map = collection.mutable.Map(
"mykey" -> "myval",
"myotherkey" -> "otherval"
)
map += "nextkey" -> "nextval"
In entrambi i casi, l'inferenza saranno utilizzati per determinare il tipo corretto parametri per l'istanza Map.
È possibile anche tenere una mappa immutabile in una var
, la variabile verrà poi aggiornato con una nuova istanza mappa immutabile ogni volta che si esegue un "aggiornamento"
var map = Map(
"mykey" -> "myval",
"myotherkey" -> "otherval"
)
map += "nextkey" -> "nextval"
Se non si dispone di alcun iniziale valori, puoi usare Map.vuoto:
val map : Map[String, String] = Map.empty //immutable
val map = Map.empty[String,String] //immutable
val map = collection.mutable.Map.empty[String,String] //mutable
fonte
2010-10-22 09:34:50
Ahimè, quando si utilizza 'new'le parentesi vuote non sono necessarie. –