如何创建包含多个mutableListOf()的mutableListOf()?
如何在Kotlin中嵌套MutableList并添加元素
核心操作步骤
- 声明外层
MutableList时,明确指定其元素类型为另一个MutableList(比如MutableList<MutableList<Int>>,可根据实际存储的元素类型调整) - 创建内层
MutableList实例 - 调用外层列表的
add()方法,将内层列表作为元素传入
完整示例代码
fun main() { // 初始化外层可变列表,指定元素为Int类型的可变列表 val outerMutableList = mutableListOf<MutableList<Int>>() // 创建第一个内层列表并添加到外层 val innerList1 = mutableListOf(10, 20, 30) outerMutableList.add(innerList1) // 直接创建内层列表并添加 outerMutableList.add(mutableListOf(40, 50, 60)) // 查看嵌套列表内容 println(outerMutableList) // 输出:[[10, 20, 30], [40, 50, 60]] // 修改内层列表,外层会同步更新(引用传递特性) innerList1.add(40) println(outerMutableList) // 输出:[[10, 20, 30, 40], [40, 50, 60]] }
常见失败原因排查
如果之前创建嵌套列表失败,大概率是未显式指定外层列表的元素类型。比如直接写val outer = mutableListOf(),此时Kotlin会默认推断元素类型为Nothing,无法添加其他列表。显式声明mutableListOf<MutableList<*>>或具体元素类型即可解决问题。
内容的提问来源于stack exchange,提问作者Amar Toge
相关产品推荐
相关产品推荐

