Kotlin 2d阵列分配

时间:2019-02-24 16:57:49

标签: list kotlin assign

假设我有一个在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中获得相同的结果?

1 个答案:

答案 0 :(得分:2)

Kotlin有两组收集接口,常规的ListSet等是只读的,而相同的前缀是Mutable,可以修改。

listOf将为您提供List实例,而mutableListOf将为您提供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添加了显式类型,可以在赋值的左侧将其省略。)