How to implement foreach in Groovy? I have an example of code in Java, but I don't know how to implement this code in Groovy...
Java:
for (Object objKey : tmpHM.keySet()) {
HashMap objHM = (HashMap) list.get(objKey);
}
I read http://groovy.codehaus.org/Looping, and tried to translate my Java code to Groovy, but it's not working.
for (objKey in tmpHM.keySet()) {
HashMap objHM = (HashMap) list.get(objKey);
}
as simple as:
tmpHM.each{ key, value ->
doSomethingWithKeyAndValue key, value
}
Your code works fine.
def list = [["c":"d"], ["e":"f"], ["g":"h"]]
Map tmpHM = [1:"second (e:f)", 0:"first (c:d)", 2:"third (g:h)"]
for (objKey in tmpHM.keySet()) {
HashMap objHM = (HashMap) list.get(objKey);
print("objHM: ${objHM} , ")
}
prints objHM: [e:f] , objHM: [c:d] , objHM: [g:h] ,
See https://groovyconsole.appspot.com/script/5135817529884672
Then click "edit in console", "execute script"
you can use below groovy code for maps with foreachloop
def map=[key1:'value1',key2:'value2']
for(item in map)
{
log.info item.value // this will print value1 value2
log.info item // this will print key1=value1 key2=value2
}
Source: Stackoverflow.com