gpt4 book ai didi

hashmap - Kotlin HashMap 使用数组包含键

转载 作者:行者123 更新时间:2023-12-02 18:42:00 37 4
gpt4 key购买 nike

是否有任何方法可以检查 HashMap 是否包含一组特定的键(这些键是在数组中给出的)。当我尝试类似下面的代码时,它返回 false。

map.containsKey(arrayOf("2018-01-16"))

如果我尝试以下代码,它可以工作,但我需要检查键,并且我需要搜索的键的数量不固定。

map.containsKey("2018-01-16")

最佳答案

您可以从按键本身开始,并使用 all 标准库中的函数:

val map = hashMapOf(...)
val keys = arrayOf("2018-01-16", "2018-01-17", "2018-01-18")
val containsAllKeys = keys.all { map.containsKey(it) }
<小时/>

如果您经常这样做并且希望在 Map 上拥有此功能类型,您可以随时将其添加为扩展名:

fun <K, V> Map<K, V>.containsKeys(keys: Array<K>) = keys.all { this.containsKey(it) }

val containsAllKeys = map.containsKeys(arrayOf("2018-01-16", "2018-01-17"))

您可能还想使用另一个采用 Iterable<K> 的函数来重载该扩展。作为参数。

关于hashmap - Kotlin HashMap 使用数组包含键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47849076/

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