Como siempre, debería preguntarse si realmente necesita un mapa mutable.
mapas inmutables son triviales para construir:
val map = Map(
"mykey" -> "myval",
"myotherkey" -> "otherval"
)
mapas mutables no son diferentes cuando la primera está construyendo:
val map = collection.mutable.Map(
"mykey" -> "myval",
"myotherkey" -> "otherval"
)
map += "nextkey" -> "nextval"
En ambos casos, la inferencia se utilizarán para determinar el tipo correcto parámetros para la instancia de Mapa.
También puede mantener un mapa inmutable en un var
, a continuación, la variable será actualizada con una nueva instancia mapa inmutable cada vez que realice una "actualización"
var map = Map(
"mykey" -> "myval",
"myotherkey" -> "otherval"
)
map += "nextkey" -> "nextval"
Si usted no tiene ninguna inicial valores, puede usar Map.vacío:
val map : Map[String, String] = Map.empty //immutable
val map = Map.empty[String,String] //immutable
val map = collection.mutable.Map.empty[String,String] //mutable
Por desgracia, al utilizar 'new'the empty parenthesis son innecesarios. –