gpt4 book ai didi

dictionary - 如何在Kotlin中过滤可变 map

转载 作者:行者123 更新时间:2023-12-04 02:26:59 26 4
gpt4 key购买 nike

我想从MutableMap中删除项目,类似于filter
在列表中,我可以使用removeAll { }retainAll { }(请参阅此问题:How to filter a list in-place with Kotlin?)。

可变 map 有类似的东西吗?

编辑:

我发现Map的entries属性具有这些方法。

最佳答案

一种选择是对 map 的 keys: MutableSet<K> 进行操作,就像在列表上一样,您可以在其中使用removeAll { ... }retainAll { ... }:

val m = mutableMapOf(1 to "a", 2 to "b")
m.keys.removeAll { it % 2 == 0 }
println(m) // {1=a}

(runnable sample)

如果仅键不足以作为谓词,则只需对 map 的条目集 entries: MutableSet<MutableEntry<K, V>> 进行相同的操作
val m = mutableMapOf(1 to "a", 2 to "b", 3 to "c")
m.entries.retainAll { it.key < 3 }
m.entries.removeAll { (k, v) -> k == 1 && v == "a" }
println(m) // {2=b}

(runnable sample)

关于dictionary - 如何在Kotlin中过滤可变 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52810396/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com