【发布时间】:2019-01-16 21:06:53
【问题描述】:
我想知道将多个数组映射到一个对象列表的方法。
我的意思是例如我有
val a = arrayOf("A1","A2","A3")
val b = arrayOf("B1","B2","B3")
和
data class SomeClass(val v1:String, val v2:String)
我想以优雅的方式解析它以获得这样的列表:
val list = listOf(SomeClass("A1","B1"),SomeClass("A2","B2"),SomeClass("A3","B3"))
我假设它们的长度相同。我想到的唯一方法是:
val list = mutableListOf<SomeClass>()
for (i in a.indices)
array.add(SomeClass(a[i],b[i])
是否有更好、更优雅的解决方案(可能使用 Collecions.zip 或 Array.map)?
【问题讨论】:
-
我会同时选择
zip和map...请注意,您的变体有缺陷.. 如果a中有更多元素,您会得到ArrayIndexOutOfBoundException
标签: arrays list kotlin mapping