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.