如果我在groovy中有两个地图列表......
def x = [ [a:1, b:2], [a:1, b:3], [a:2, b:4] ]
def y = [ [f:10, b:2, g:7], [f:100, b:3, g:8], [f:20, b:4, g:9] ]
如何根据特定属性加入它们。在上面的示例中,b
。
期望的结果是......
[a:1, b:2, f:10, g:7]
[a:1, b:3, f:100, g:8]
[a:2, b:4, f:20, g:9]
我试过了,但这并不是我追求的目标。
def z = (x + y).groupBy { it.b }
z.each{ k, v -> println "${k}:${v}" }
感谢
答案 0 :(得分:2)
答案 1 :(得分:2)
你不能这样做:
[x,y].transpose().collect { a, b -> a + b }