我在Swift中的一行是:
var map。[String:[String]] = [String:[String] ] ()
map[x]!.append(product)
我很好奇map[x]!.append(product)的實作是什么,另外,對Kotlin的適當翻譯是什么。
uj5u.com熱心網友回復:
讓我們先把這一行分解成小的部分:
map[x]!.append(product)
默認情況下,哈希地圖會回傳一個可選的,因為它可能包含也可能不包含給定的鍵。所以可以把它看成是這樣的型別:
map[x] // Gives us a [String]?
有幾種方法可以解開可選性。最不安全但最簡單的方法是使用顯式解包(使用!)
map[x]/span>! //給了我們a [String]!
要添加到一個現有的陣列,請使用append()方法。呼叫:
map[x]!.append(產品
將產品添加到字串陣列中。
追加到一個陣列的例子:
var fruitArray = ["Apple"/span>, "Banana"/span>]
var newFruit = "Orange")
fruitArray.append(newFruit)
// fruitArray現在將是["Apple", "Banana", "Orange"]。
包含一個陣列的地圖的例子,你要添加到:
var productMap = ["fruits"/span>: ["Apple"/span>, "Banana"/span>]]
// productMap["水果"] 是 ["蘋果", "香蕉"]
// 這個是一個新的水果,我們想加入。
var newFruit = "Orange" 新水果。
// 讓我們添加新水果 到水果
productMap[" fruits"].append(newFruit)
// productMap["fruits"] 現在將是["Apple", "Banana", "Orange"]
給定代碼的Kotlin等價物:
val map: HashMap<String,MutableList<String> > = HashMap<String,MutableList<String>>()。
map[x]!.add(product);
uj5u.com熱心網友回復:
Sam的回答很好,但我推薦稍微不同的Kotlin語法:
Sam的回答很好。
val map = mutableMapOf<String, MutableList<String> > ()
map.getValue("x").add("product")
一般來說,我建議不要明確地定義型別,而是讓它們被推斷出來。我也更喜歡使用stdlib的mutableMapOf()函式來明確呼叫HashMap建構式。
最后,我建議使用getValue()而不是[]!!來訪問你知道存在的某個鍵的地圖。如果你不能100%確定,那么我建議使用null-safe訪問:
map["x"]?.add("product")
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/307286.html
標籤:
