rasilvap
rasilvap

Reputation: 2149

Groovy remove null elements from a map

I am getting a map in my method from another server and I have some null values, I wanted to remove those ones, because I am struggling with those values in the following process:

My map looks something like: enter image description here

I had done the next code, but without satisfactory results:

map.values().removeAll(Collections.singleton(null))

Any ideas?

Thanks

Upvotes: 7

Views: 8385

Answers (1)

cfrick
cfrick

Reputation: 37008

Edit

The Groovy way, is to filter the entries you want:

def map = [a:42, b:null]
def cleanMap = map.findAll{ it.value!=null }
println cleanMap
// => [a:42]

Previous answer:

Seems to work with Jdk8/Groovy 2.5, but not for OP

To remove all elements with a value with null, remove on the map directly:

def map = [a:42, b:null]
map.removeAll{ it.value == null }
println map
// => [a:42]

Upvotes: 11

Related Questions