O Groovy tem método para mesclar 2 mapas?


85

O primeiro mapa é as opções padrão [a: true, b: false]. Segundo mapa - opções passadas pelo usuário [a:false]. O Groovy possui métodos de mesclagem de mapas para obter [a: false, b:false]?

Não é problema implementá-lo no Groovy. Estou perguntando sobre o método fora da caixa

Respostas:


176

Você pode usar mais:

assert [ a: true, b: false ] + [ a: false ] == [ a: false, b: false ]

Ou deslocamento para a esquerda:

assert [ a: true, b: false ] << [ a: false ] == [ a: false, b: false ] 

A diferença é que << adiciona o mapa do lado direito no mapa do lado esquerdo . Quando você usa +, ele constrói um novo mapa com base no LHS e adiciona o mapa à direita nele


Também vale a pena notar que quando você pode usar +, você também pode usar +=:def m1 =[ a: true, b: false ]; m1 += [ a: false ] ; println (m1 == [ a: false, b: false ])
Patrice M.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.