假设我在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有两组收集接口,常规的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
添加了显式类型,它可以从赋值的左侧省略。)