【发布时间】:2019-05-03 19:59:35
【问题描述】:
我有一个 ParentObject 列表。 Foreach parentObject,它有 2 个 childObject。 像这样的画面
val listParent: MutableList<ParentObject> = mutableList()
ParentObject {
ChildOjbect1{} // object1 can not be NULL
ChildOjbect2{} // object2 can be NULL
}
而且,我想建立一个 ChildObject 的 mutableList。
val listChild: MutableList<ChildObject> = mutableList()
list.add(parentObject.childOjbect1) // Because childObj1 can not be null
parentOjbect.childObject2?.let { child ->
list.add(child)
}
问题:
我只需要 6 个项目的 listChild(基本上我想将 listChild 的固定大小为 6)
我在 Kotlin 中编码如下:
fun buildListChild(): List<ChildOjbect> {
val listChild // instance mutable listChild
forEach( parent: listParent) {
listChild.add(parent.childObject1)
parent.childOjbect2?.let { it ->
listChild.add(it)
}
return listChild.take(6)
}
我认为性能不好,因为它在所有父项中循环。
除此之外,我真的不想在添加之前总是检查 listChild 的大小。
在这里解决问题的最佳方法是什么?
【问题讨论】:
-
如果数组大小为 6 会怎样?
-
我不明白你的意思???
-
我的意思是 listchild 的最大大小是 6。它可以是 3,4 项取决于 listParent