是否可以訪問整個Paira map,而不僅僅是 thekey或 a value?假設我們有一張地圖
map = mapOf(Pair("Example1", 1), Pair("Example2", 2), Pair("Example3", 3))
我想訪問第二對并將其放入一個變數中,就像我對串列所做的那樣:
val ex2 = map[1] #這將導致 {"Example2", 2}
然后我將能夠訪問該對的鍵/值,例如:
ex2.key / ex2.value
更具體地說,我想在我的函式中使用它來回傳一對特定的地圖。
uj5u.com熱心網友回復:
不確定這是否有幫助
val mapString = mutableMapOf(1 to "Person", 2 to "Animal")
val (id, creature) = 1 to mapString.getValue(1)
Log.e("MapPair", "$id, $creature")
印刷
1, Person
或者如果您正在遍歷整個map
mapString.forEach {
val (id, creature) = it.key to it.value
Log.e("MapPair", "$id : $creature")
}
印刷
1 : Person
2 : Animal
或使用Pair
val key = 1
val pair = Pair(key, mapString.getValue(key))
Log.e("MapPair", "$pair")
印刷
(1, Person)
或者如果您正在遍歷整個mapusingPair
mapString.forEach {
val pair = Pair(it.key, it.value)
Log.e("MapPair", "$pair")
}
印刷
(1, Person)
(2, Animal)
更新:為了遍歷地圖,您還可以使用解構宣告
val mapString = mutableMapOf(1 to "Person", 2 to "Animal")
for ((key, value) in mapString) {
Log.e("MapComponents", "$key, $value")
}
uj5u.com熱心網友回復:
從您的評論來看,您似乎想要獲取與給定值對應的鍵。
val map = mapOf("Chicken" to 20, "Egg" to 10, "Bread" to 5)
val valueToFind = 20
val key = map.toList().find { it.second == valueToFind }?.first
println(key)
輸出:
Chicken
如果該值不存在,它將給出null.
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/514409.html
標籤:科特林字典哈希图核心价值
