kotlin - 如何在给定条件的情况下从 MutableSet 中删除项目?
问题描述
var chart_values: MutableSet<MutableMap.MutableEntry<String, Any>>? = mutableSetOf()
打印chart_values:
[ground={},
ground_level={0=115, 1=4, 2=0, 3=37, 4=63, 5=44, 6=40, 7=9},
ground_over={0=3, 1=3, 2=3, 3=3, 4=3, 5=3, 6=3}
date_of_birth=1988-07-18T00:00Z]
我想remove ground={}
从chart_values
解决方案
鉴于它chartValues
的类型MutableSet<MutableMap.MutableEntry<String, Any>>?
,您可以执行以下操作以删除任何具有空映射作为值的条目:
chartValues?.removeAll { (_, value) ->
(value as? Map<*, *>)?.isEmpty() == true
}
as?
被称为安全转换运算符,如果转换不成功,将返回被转换的对象或 null。
笔记:
- 你可能会更好地使用
MutableMap<String, Any>
- 使用
val
而不是var
,因为您想改变集合而不是对它的引用
推荐阅读
- javascript - 仅使用数组检查给定半径内的点
- asp.net - 如何在没有 JavaScript 或没有任何 JavaScript 表单的情况下更新字段
- c - 如何在C中提取文件路径的最后部分?
- typescript - 在 VSCode 中调试 lerna-typescript 项目
- powershell - 通过操作系统驱动器 (C:\) 上的 Powershell 使用 BitLocker 启用磁盘加密
- spring-data-jpa - 如何编写 JPQL 查询以从两个表中选择数据,该表返回第一个表的完整记录集
- amazon-web-services - redis-cli:使用“-r -1”立即退出而不是无限期运行命令
- azure - 用于删除 Azure 中未使用资源的 Powershell 脚本
- php - 无法打开文件网络目录
- internet-explorer - IE11 中未定义的 IndexedDB