Для Groovy <<code>2.5.0
Для этого можно использовать один Map.findAll()
метод:
a.findAll { k,v -> !(v in b) }
Однако имейте в виду, что этот метод не изменяет существующую карту a
, а создает новую. Поэтому, если вы хотите изменить карту, хранящуюся в переменной a
, вам придется переназначить ее.
a = a.findAll { k,v -> !(v in b) }
Для Groovy> = 2.5.0
В Groovy версии 2.5.x появился новый метод по умолчанию для Map
- removeAll
, который принимает предикат и удаляет элементы из входной карты на основе этого предиката.
a.removeAll { k,v -> v in b}