Как всегда, вы должны спросить, действительно ли вам нужна изменяемая карта.
Неизменяемые карты тривиальны для построения:
val map = Map(
"mykey" -> "myval",
"myotherkey" -> "otherval"
)
Изменяемые карты не отличаются при первом построении:1006 *
val map = collection.mutable.Map(
"mykey" -> "myval",
"myotherkey" -> "otherval"
)
map += "nextkey" -> "nextval"
В обоих этих случаях логический вывод будет использоваться для определения правильных параметров типа для экземпляра карты.
Вы также можете хранить неизменную карту в var
, переменнойбудет обновляться новым неизменяемым экземпляром карты каждый раз, когда вы выполняете «обновление»
var map = Map(
"mykey" -> "myval",
"myotherkey" -> "otherval"
)
map += "nextkey" -> "nextval"
Если у вас нет начальных значений, вы можете использовать Map.empty:
val map : Map[String, String] = Map.empty //immutable
val map = Map.empty[String,String] //immutable
val map = collection.mutable.Map.empty[String,String] //mutable