在Kotlin中如何初始化可变列表数组?

移动开发 2026-07-08

我理解在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导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章