[英]How to get object from 1st and 2nd position manually from LinkedHashMap in Kotlin Android?
看到這個 LinkedHashMap
var sizeMap: LinkedHashMap<String, ProductSize>? = null
所以,從 API 這個尺寸映射值我存儲,但不知道如何檢索它。 我查了一下,map 的尺寸是 2。
如果沒有 for 循環,我想手動獲取 sizeMap[0] 和 sizeMap[1] 並希望存儲在 ProductSize object 中。 但做不到。
我在下面嘗試過,但編譯器錯誤出現在 [0]
val sizeObj = it[0]
LinkedHashMap
不是列表,它仍然是 map。 你能做的是
sizeMap.values()[0]
首先,您示例中的sizeMap
可以為空。 在確定它不是 null 之前,你不能對它做任何事情。
其次, LinkedHashMap
保持元素的順序,但這並不意味着它允許訪問其第 N 個元素。 我們仍然需要對其進行迭代以獲取特定索引處的元素。
幸運的是,Kotlin 提供了許多實用程序,可以在源代碼中不進行實際迭代的情況下進行迭代。 例如,我們可以從 map 中獲取前兩個值,如下所示:
if (sizeMap != null) {
val (first, second) = sizeMap.values.take(2)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.