抱歉,如果这是一个愚蠢的问题——但在java中我习惯做如下的事情:
Iterator whatever = entrySet.iterator()
while (whatever.hasNext()) {
for (int i = 0; i < 4; i++) {
if (i == 3) {
whatever.remove(whatever.next().key)
}
}
}
Run Code Online (Sandbox Code Playgroud)
(伪代码和逻辑毫无意义)
然而,Kotlin 中的 hashmap 不存在“删除”函数。我知道您可以将removeIf用于单个条件,但我想在决定删除哪些内容之前循环遍历一堆不同的条件——所有这些都不会回避并发修改异常。
在 Kotlin 中如何做到这一点?
感谢您的时间!
在 Kotlin 中,您可以在可变映射条目上使用removeIf
,而无需显式访问迭代器。
val entrySet = HashMap<String, String>()
entrySet.entries.removeIf {
// some predicate
}
Run Code Online (Sandbox Code Playgroud)
将删除与谓词匹配的所有条目
归档时间: |
|
查看次数: |
3594 次 |
最近记录: |