Groovy 从 map 中删除空元素

标签 groovy null maps remove-if

我正在从另一台服务器获取我的方法中的 map ,并且我有一些空值,我想删除这些值,因为我在以下过程中遇到了这些值:

我的 map 看起来像:
enter image description here

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

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

有任何想法吗?

谢谢

最佳答案

编辑

Groovy 的方法是过滤您想要的条目:

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

上一个答案:

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

删除所有具有 null 值的元素,直接在 map 上移除:
def map = [a:42, b:null]
map.removeAll{ it.value == null }
println map
// => [a:42]

关于Groovy 从 map 中删除空元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55696504/

相关文章:

javascript - 使用 leaflet Js 创建 MultiPolyline

javascript - Bing map 信息框未显示 - setMap 不是控制台上的函数错误

java - 集成 Grails 和 GWT

java - 使用 groovy 扩展 Java 类

c++ - Qt 读取访问冲突位于 :0x0, flags=0x0(第一次机会)

java - 每次java.lang.exception.getCause()都为null

c++ - 在遍历 map 和打印内容时获取向后输出

grails - Groovy/Grails : How do I make my datePicker blank or null by default instead of showing today's date?

hibernate - 如何在 Grails 中创建 "view"域对象

postgresql - 为什么 Postgres 在涉及唯一约束的情况下不一致地处理 NULL?