for each loop in groovy

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);
}

Solution 1:

as simple as:

tmpHM.each{ key, value -> 
  doSomethingWithKeyAndValue key, value
}

Solution 2:

This one worked for me:

def list = [1,2,3,4]
for(item in list){
    println item
}

Source: Wikia.

Solution 3:

You can use the below groovy code for maps with for-each loop.

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
}