groovy - Groovy 从地图中删除空元素
问题描述
我正在从另一台服务器获取我的方法中的地图,并且我有一些空值,我想删除这些值,因为我在以下过程中正在努力处理这些值:
我已经完成了下一个代码,但没有令人满意的结果:
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
请直接在地图上删除:
def map = [a:42, b:null]
map.removeAll{ it.value == null }
println map
// => [a:42]
推荐阅读
- python - 是否有任何 python 包可用于仅通过海路计算坐标之间的最短距离?
- android - 正在查看我的 Play 商店描述 A/B 测试?
- editor - XCode 12.5 - 如何在编辑器中禁用自动跳转
- ios - Apple:在 App Purchase Subscriptions Server Notifications 查看过去的历史记录
- python - TD Ameritrade API“获取期权链”捐赠
但我得到 JSONDecodeError: Expecting value? - c# - System.ObjectDisposedException: '无法解析实例,并且无法从此 LifetimeScope 创建嵌套生命周期
- python - 请告知:MongoDB(在 Window Server 2016 上)返回“errno:24 Too many open files”错误
- bash - 如何使用 BASH 在 git 中的分支之间进行迭代?
- c# - 如何用不同的字符替换字符串中的每个数字?
- javascript - 在 Azure 上运行 Node JS websocket