fedor.belov fedor.belov - 1 month ago 6
Groovy Question

Does Groovy have method to merge 2 maps?

First map is default options

[a: true, b: false]
. Second map - options passed by user
[a:false]
. Does Groovy has maps merge method to obtain
[a: false, b:false]
?

It's not problem to implement it in Groovy. I'm asking about method out of the box

Answer

You can use plus:

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

Or left shift:

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

The difference is that << adds the right hand map into the left hand map. When you use +, it constructs a new Map based on the LHS, and adds the right hand map into it

Comments