簡體   English   中英

如何從第一個和第二個 position 手動從 Kotlin ZE84E30B9390CDB4864DZDB6C

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM