如何从Kotlin的Hashmap获取价值的关键?

时间:2019-06-10 08:28:05

标签: android kotlin hashmap

我在科特林有HashMap

val map = HashMap<String, String>()

我想知道如何从此HashMap获取特定值的密钥,而无需遍历完整的HashMap

3 个答案:

答案 0 :(得分:2)

使用filterValues {}

val map = HashMap<String, String>()
val keys = map.filterValues { it == "your_value" }.keys

keys将是所有与给定值匹配的键的集合

答案 1 :(得分:0)

您可以像这样从值中获取密钥。

for(Map.Entry<String, HashMap> entry : selects.entrySet()) {
    String key = entry.getKey();
    HashMap value = entry.getValue();
    if (value == yourValue)
    {
        // your code here
    }   
}

答案 2 :(得分:0)

在 Kotlin HashMap 中,您可以使用以下方式:

val item = HashMap<String, String>() // Dummy HashMap.

val keyFirstElement = item.keys.first() // Get key.
val valueOfElement = item.getValue(keyFirstElement) // Get Value.
    
val keyByIndex = item.keys.elementAt(0) // Get key by index.
val valueOfElement = item.getValue(keyByIndex) // Get value.