所以...我试图将来自 2 个不同 for 循环的数据存储到列表中。原因是我正在从 2 个不同的表中检索数据,因为 Azure-Android SDK 中尚未实现表连接。
目前,我已经,
for(results in tableOne) {
val banana: String = results.asJsonObject.getAsJsonPrimitive("fruit").asString
}
for(results in tableTwo) {
val yellow: String = results.asJsonObject.getAsJsonPrimitive("color").asString
}
我创建了一个名为“Fruits”的类,它获取并设置我将在创建列表时实现它们
所以像 fruitList.add(Fruits("banana", "color"))
那么知道我该怎么做吗?
最佳答案
使用map
将一种类型的列表更改为另一种类型。使用 zip
将两个列表的结果组合成一个新的单个列表。因此,您可以将 JSON 结果列表映射到字符串列表,然后将它们组合起来。
val fruitTypes = tableOne.map { it.asJsonObject.getAsJsonPrimitive("fruit").asString }
val colors = tableTwo.map { it.asJsonObject.getAsJsonPrimitive("color").asString }
val fruits = fruitTypes.zip(colors) { fruitType, color -> Fruit(fruitType, color) }
编辑:您可以一步更有效地完成此操作:
val fruits = tableOne.zip(tableTwo) { fruitTypeJson, colorJson ->
val fruitType = fruitTypeJson.asJsonObject.getAsJsonPrimitive("fruit").asString
val color = colorJson .asJsonObject.getAsJsonPrimitive("color").asString
Fruit(fruitType, color)
}
关于android - 如何将2个for循环的数据存储在列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60942828/