首页 > 解决方案 > Groovy 从地图中删除空元素

问题描述

我正在从另一台服务器获取我的方法中的地图,并且我有一些空值,我想删除这些值,因为我在以下过程中正在努力处理这些值:

我的地图看起来像: 在此处输入图像描述

我已经完成了下一个代码,但没有令人满意的结果:

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

有任何想法吗?

谢谢

标签: groovynullmapsremove-if

解决方案


编辑

Groovy 的方式是过滤你想要的条目:

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

上一个答案:

似乎适用于 Jdk8/Groovy 2.5,但不适用于 OP

要删除所有带有 值的元素,null请直接在地图上删除:

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

推荐阅读