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

fedor.belov
fonte

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

tim_yates
fonte
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.