在Kotlin中如何初始化可变列表数组?
我理解在Kotlin中初始化一个数组,如果你知道要放入数组的元素,实际上是相当直接的。就我而言,我在运行时知道有多少个元素,而不是在编译时。
我想要的是一个由MutableList组成的数组。数组的大小由参数 numLists 指定。这些列表将会不断变化。
我已经尝试了下面的方法,但一直出现各种语法错误。有什么想法吗?
fun foo(numLists: Int) {
val daLists = arrayOf<MutableList<Float>>(numLists) {
mutableListOf<Float>()
}
// use the info
daLists[0].add(newData)
daLists[1].add(anotherData)
...
}
解决方案
arrayOf 接受要放在数组中的所有元素的变长参数,并创建一个包含它们的数组。
这个 Array 构造函数 接受一个大小和一个用于在每个索引处初始化元素的lambda。这才是你打算使用的。你把它和 arrayOf 搞混了。
val daLists = Array(numLists) { mutableListOf<Float>() }
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。