在Python我可以有複雜的字典鍵一樣,例如:如何在Kotlin中使用組合鍵?
d = {}
d[(1, 2)] = 3
print d[(1, 2)] # prints 3
我如何可以聲明和填充在科特林這樣的地圖?
編輯:我想聲明像這樣的地圖,但我不知道如何來填充它:
val my_map = HashMap<Pair<Int, Int>, Int>()
在Python我可以有複雜的字典鍵一樣,例如:如何在Kotlin中使用組合鍵?
d = {}
d[(1, 2)] = 3
print d[(1, 2)] # prints 3
我如何可以聲明和填充在科特林這樣的地圖?
編輯:我想聲明像這樣的地圖,但我不知道如何來填充它:
val my_map = HashMap<Pair<Int, Int>, Int>()
這很簡單,你第一次創建你的字典,然後插入鑰匙和值:
val (a, b):Pair<Int, String> = Pair(1, "x")
val map: HashMap<Pair<Int, String>, Int> = hashMapOf((a, b) to 1)
map[Pair(2, "y")] = 3
等等:)
確定它的工作,我不得不像這樣明確地寫「Pair」:'my_map [Pair(1,2)] = 3' – fafl
@fafl太棒了!是的,一旦你創建了,你也可以像這樣添加元素,我一直都很喜歡幫助。 –
在科特林,不像Python中沒有元組數據類型。對於二元組,有一個Pair類。對於更大的arity,你應該使用數據類。
val map: HashMap<Pair<Int, Int>, Int> = hashMapOf(Pair(1, 2) to 3)
val nullable: Int? = map[Pair(1, 2)]
val notNullable = map.getValue(Pair(1, 2))
這本質上並不複雜。密鑰可以是任何你喜歡的類型,包括一對。 – chris