我有一张地图列表,我试图将其合并为一张地图。我尝试使用map.collectEntries()
来执行此操作,但创建的地图仅包含列表中的最后一个地图。我的输入列表如下:
def people = [[name:'John', age:35], [name:'Jim', age:54]]
我希望计算出如下地图:
def people = ['John':35, 'Jim':54]
答案 0 :(得分:3)
您必须从地图中收集带有访问名称和年龄
的闭包的条目def people = [[name:'John', age:35], [name:'Jim', age:54], [name:'Smith', age:'53']]
def nameAgeMap=people.collectEntries() {
[it.name, it.age]
}
println(nameAgeMap)
答案 1 :(得分:0)
为简单起见:
Map<String, String> result = new HashMap<String, String>();
for (Map<String, String> singleMap : people) {
result.putAll(singleMap);
}
Stream API:
您可以使用流API执行相同操作,这可能会导致许多开发人员过于复杂。