Iterate over Map
嗨,我有复杂的结构
我想遍历所有元素。 我试过了:
错误是
1
| Cannot cast object '{key1=value1, key2=value2, key3=value3, key4=value4}' with class 'java.util.LinkedHashMap' to class 'java.util.Map$Entry' due to: groovy. lang. GroovyRuntimeException: Could not find matching constructor for: java. util. Map$Entry (java. util. LinkedHashMap) |
如何遍历我的地图?
keySet()仅返回其键,因此它是Map的列表。 如果要遍历其Map.Entry,请放下.keySet():
其他循环选项:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| // iterate with two arguments
firstMap. each { Map <String, String > key, Map <String, String > value ->
println"key=$key, value=$value"
}
// iterate through entries
firstMap. each { Map. Entry<Map <String, String >, Map <String, String >> entry ->
println"entry=$entry"
}
// untyped
for (entry in firstMap ) {
println entry
} |
您可以只使用each:
1 2 3 4 5 6
| def a = [ ([a: 'tim',b: 'xelian']): [ a: 1,b: 2 ],
([a: 'alice',b: 'zoe']): [ a: 3,b: 4 ] ]
a. each { key, value ->
println"Key $key == Value $value"
} |