Asa*_*hry 3 android hashmap kotlin
我HashMap在科特林
val map = HashMap<String, String>()
Run Code Online (Sandbox Code Playgroud)
我想知道如何从中获取特定值的键,HashMap而无需迭代完成HashMap?
在最坏的情况下(如果映射中不存在匹配值),您将不得不迭代整个映射。但是,一旦找到匹配项,此代码就会停止迭代:
val map = mapOf("a" to 1, "b" to 2, "c" to 3)
val matchingKey = map.entries.find { it.value == 3 }?.key
println(matchingKey) // prints "c"
Run Code Online (Sandbox Code Playgroud)
使用 filterValues {}
val map = HashMap<String, String>()
val keys = map.filterValues { it == "your_value" }.keys
Run Code Online (Sandbox Code Playgroud)
并且keys将是与给定值匹配的所有键的集合
如果您不断地通过值查找键,一个可能的解决方案可能是反转映射,这样您就可以通过任何值获取任何键。
例如:
val reversed = map.entries.associate{(k,v)-> v to k}
val resultKey = reversed[value]
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
3081 次 |
| 最近记录: |