Como posso converter immutable.Map
para mutable.Map
no Scala para que eu possa atualizar os valores em Map
?
scala
dictionary
scala-2.8
Łukasz Lew
fonte
fonte
: _*
é muito parecido com a atribuição de tipo, dizendo ao compilador exatamente que tipo atribuir a uma determinada expressão. Você pode pensar nisso aqui como dizer "pegue esta sequência e trate-a como uma série de parâmetros vararg."fonte
O(1)
etapas. Este parece serO(n)
, embora isso depende, naturalmente, como inteligente a implementação de++
SI.O(n)
. No limite, conforme você muda tudo, deve serO(n)
, embora você possa tentar adiar a criação da nova cópia para economizar tempo, ou dobrar seu tempo de acesso lendo changesets em vez do mapa original. O que tem melhor desempenho provavelmente depende do seu caso de uso.Que tal usar collection.breakOut?
fonte
mutable.Map#apply
com um pouco mais clichê.Começando
Scala 2.13
, por meio de construtores de fábrica aplicados com.to(factory)
:fonte
Existe uma variante para criar um mutável vazio
Map
que tem valores padrão retirados do imutávelMap
. Você pode armazenar um valor e substituir o padrão a qualquer momento:Advertência (ver o comentário de Rex Kerr): Você não será capaz de remover os elementos vindos do mapa imutável:
fonte