【发布时间】:2019-09-05 20:49:38
【问题描述】:
我正在从另一台服务器获取我的方法中的地图,并且我有一些空值,我想删除这些值,因为我在以下过程中遇到了这些值:
我已经完成了下一个代码,但没有令人满意的结果:
map.values().removeAll(Collections.singleton(null))
有什么想法吗?
谢谢
【问题讨论】:
标签: groovy null maps remove-if
我正在从另一台服务器获取我的方法中的地图,并且我有一些空值,我想删除这些值,因为我在以下过程中遇到了这些值:
我已经完成了下一个代码,但没有令人满意的结果:
map.values().removeAll(Collections.singleton(null))
有什么想法吗?
谢谢
【问题讨论】:
标签: groovy null maps remove-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]
【讨论】: