gpt4 book ai didi

android - 在 Kotlin 中固定列表大小的最佳方法是什么

转载 作者:搜寻专家 更新时间:2023-11-01 09:22:31 26 4
gpt4 key购买 nike

我有一个 ParentObject 列表。对于每个父对象,它有 2 个子对象。像这样的图片

val listParent: MutableList<ParentObject> = mutableList() 

ParentObject {
ChildOjbect1{} // object1 can not be NULL
ChildOjbect2{} // object2 can be NULL
}

而且,我想构建一个 ChildObject 的可变列表。

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 的大小。
在这里解决问题的最佳方法是什么?

最佳答案

您可以创建固定大小的列表或数组,但在那种情况下您需要将其初始化,如val childList = arrayOfNulls<ChildObject>(6) (没有其他选项可以在不初始化的情况下拥有固定大小的数组),并在循环中检查它是否已满(或添加最后一个元素时)并从方法返回。

在那种情况下,你不需要遍历所有父元素并在剪切它之后,只需进行简单的检查即可。

关于android - 在 Kotlin 中固定列表大小的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53578268/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com