You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Groovy中的Map数组合并为单个Map?

将Groovy中的Map列表合并为单个Map

你可以通过以下几种简洁的方式把documentList中的多个单键Map合并成一个统一的Map,这样就能使用containsKey方法检查键是否存在:

方法1:使用inject逐个合并

inject方法从空Map开始,逐个将列表中的小Map合并进去:

def combinedMap = documentList.inject([:]) { acc, map -> acc << map }

方法2:使用展开操作符快速合并

利用Groovy的集合操作符,直接把列表中的所有Map合并到新Map中:

def combinedMap = [:] << documentList

方法3:使用sum()简洁合并

Groovy对Map列表的sum()方法默认会执行合并操作,写法最简洁:

def combinedMap = documentList.sum()

完整示例代码

import groovy.json.JsonSlurper

def a = '[{"a":"1234"},{"b":"5678"}]'
def documentList = new JsonSlurper().parseText(a)

// 任选一种方法合并Map
def combinedMap = documentList.sum()

// 验证containsKey功能
println combinedMap.containsKey("a") // 输出 true
println combinedMap.containsKey("b") // 输出 true
println combinedMap.containsKey("c") // 输出 false

合并后的Map结构就是你需要的["a":"1234","b":"5678"],完全支持containsKey等Map原生方法。

内容的提问来源于stack exchange,提问作者Cristian Baciu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 18:32:11