If you want to actually edit the original map:

def uidMap = [
  a: 123,
  b: 456,
  c: 789
]

uidMap.entrySet().removeAll { it.key.startsWith('a') }

If you want a new map, emmanuel’s solution using findAll is best.

Jason

From: Guy Matz [mailto:[email protected]]
Sent: Thursday, June 02, 2016 2:18 PM
To: [email protected]
Subject: Looping through a hashmap & removing elements

Hi!  I want to loop through a hashmap and delete some elements based on some 
criteria . . .  I thought there would be some slick groovy method - in the 
spirit of findAll, etc. - to do this, but couldn't find it . . .  my java 
developer workmate suggested:


iter = uidMap.entrySet().iterator()
while (iter.hasNext()) {
    entry = iter.next()
    key = entry.key
    value = entry.value

    if (bla, blah, blah) {

        iter.remove()

    }



Is there a groovier way?



Thanks!

Guy

----------------------------------------------------------------------
This email message and any attachments are for the sole use of the intended 
recipient(s). Any unauthorized review, use, disclosure or distribution is 
prohibited. If you are not the intended recipient, please contact the sender by 
reply email and destroy all copies of the original message and any attachments.

Reply via email to