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