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

4 Answers

as simple as:

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

This one worked for me:

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

Source: Wikia.

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 } 

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

Then click "edit in console", "execute script"

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy