¿Cómo puedo convertir immutable.Map
a mutable.Map
en Scala para poder actualizar los valores en Map
?
scala
dictionary
scala-2.8
Łukasz Lew
fuente
fuente
: _*
es muy parecido a la adscripción de tipos, que le dice al compilador exactamente qué tipo asignar a una expresión dada. Puede pensar en ello aquí como si dijera "toma esta secuencia y trátala como varios parámetros de vararg".fuente
O(1)
pasos. Esto parece serO(n)
, aunque eso depende, por supuesto, de cuán inteligente sea la implementación de++
.O(n)
. En el límite a medida que cambia todo, debe estarloO(n)
, aunque podría intentar aplazar la creación de la nueva copia para ahorrar tiempo, o duplicar sus tiempos de acceso leyendo conjuntos de cambios en lugar del mapa original. Cuál funciona mejor probablemente depende de su caso de uso.¿Qué tal usar collection.breakOut?
fuente
mutable.Map#apply
con un poco más repetitivo.Comenzando
Scala 2.13
, a través de constructores de fábrica aplicados con.to(factory)
:fuente
Existe una variante para crear un mutable vacío
Map
que tiene valores predeterminados tomados del inmutableMap
. Puede almacenar un valor y anular el predeterminado en cualquier momento:Advertencia (vea el comentario de Rex Kerr): No podrá eliminar los elementos provenientes del mapa inmutable:
fuente