繁体   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