Groovy中如何遍历键值对数组并获取其中的键?
Groovy遍历含单个键值对Map的数组获取键值的方法
你的数组中每个元素都是仅含单个键值对的Map,针对这种场景,以下是几种实用的实现方式:
方法1:直接获取单个键并取值
因为每个Map只有一个键,可通过keySet().first()快速拿到键,再通过键对应取值:
def fieldValuesArray = [] fieldValuesArray << ["key1":"value1"] fieldValuesArray << ["key2":"value2"] fieldValuesArray.each { map -> def key = map.keySet().first() def value = map[key] println("键:${key},值:${value}") }
方法2:遍历Map的Entry集合
这种方式更通用,即使后续Map包含多个键值对也能兼容:
fieldValuesArray.each { map -> map.each { entry -> println("键:${entry.key},值:${entry.value}") } }
方法3:利用Groovy语法糖简化
Groovy对Map有语法支持,可通过嵌套each直接拆解键值:
fieldValuesArray.each { it.each { k, v -> println("键:${k},值:${v}") } }
注意:你原代码中的it.key()会报错,因为Groovy的Map没有key()方法,正确获取键集合的方式是keySet(),单个键时取集合第一个元素即可。
内容的提问来源于stack exchange,提问作者LJ Edits
相关产品推荐
相关产品推荐

