假设我有一个在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中获得相同的结果?
答案 0 :(得分:2)
Kotlin有两组收集接口,常规的List
,Set
等是只读的,而相同的前缀是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
添加了显式类型,可以在赋值的左侧将其省略。)