这如何在常规中逆转?
即。
我要转这个:
[[a:“ c”,b:“ e”],[a:“ d”,b:“ f”]]-列表中可以包含更多元素
变成:[a:[“ c”,“ d”],b:[“ e”,“ f”]]
答案 0 :(得分:0)
因此,我们可以:
将地图列表融合为一个长列表,其中每个元素都具有相同的k / v结构
然后按键分组
然后我们需要浏览这张新地图,并清理值
那使我们:
def result = [ [a:"c", b:"e"], [a:"d",b:"f"] ]
*.collect { [k: it.key, v: it.value] }
.flatten()
.groupBy { it.k }
.collectEntries { a, b ->
[a, b.v]
}
assert result == [a:['c', 'd'], b:['e', 'f']]