Groovy中的简单地图操作(特别是:添加地图)

时间:2012-01-27 12:14:32

标签: groovy map add

我在正确理解地图操作时遇到问题

def map1 = [ name: 'John']
def map2 =  [ name: 'Jane']

assert [ name: 'Jane'] == map1 + map2

我想获得像

这样的结果地图
[[ name: 'Jane'], [ name: 'John']]

1 个答案:

答案 0 :(得分:3)

当你这样做时:

map1 + map2

它结合了地图,右手地图覆盖了与左手地图共有的任何键。

这样:

[ a:1, b:2 ] + [ b:3, c:4 ] == [ a:1, b:3, c:4 ]

您想要的是地图列表。一种选择是:

[ map1 ] + map2

将map1包装在列表中,然后将map2添加到此列表

assert [[ name: 'John'], [ name: 'Jane']] == [ map1 ] + map2