Kotlin 二维数组赋值

Kotlin 2d array asignment

假设我有一个在 Kotlin 中定义的列表:

val mylist = mutableListOf<List<Int>>(listOf(2,3,5), listOf(2,5,6))

现在,我想为这些子列表之一分配特定值。例如,现在我有一个

列表
((2,3,5)(2,5,6))

我希望我的列表是

((2,3,5)(2,100,6))

我在 Python 中习惯于通过 myList[1][1] = 100 之类的方式来执行此操作。我如何在 Kotlin 中获得相同的结果?

Kotlin有两套集合接口,常规的ListSet等是只读的,同样是Mutable前缀的,可以被修改。

listOf will give you a List instance, while mutableListOf gives you a MutableList实例。如果您使用后者来创建嵌套列表,则可以使用您询问过的确切语法:

val mylist: MutableList<MutableList<Int>> = mutableListOf(mutableListOf(2,3,5), mutableListOf(2,5,6))

mylist[1][1] = 100

println(mylist) // [[2, 3, 5], [2, 100, 6]]

(为了清楚起见,我为 myList 添加了显式类型,它可以从赋值的左侧省略。)