将元素放入 Kotlin 的 MutableList 中
Putting Elements in MutableList of Kotlin
fun main() {
var list1 = mutableListOf<Any>()
for(i in 0 until 5) {
list1.set(i,i)
}
println(list1)
}
以上代码为长度 0 提供了超出边界的索引 0。
什么是错误。我如何使用索引将元素放入 MutableList 中。
你用错了方法。
根据 set 的文档:“它用指定元素替换元素并在给定索引处添加新元素。”
在这里声明一个空的 mutableList。因此,尝试在某个索引处进行替换会给您一个数组越界异常。
如果您想添加一个新元素,您需要使用 add 方法:“它将给定的元素添加到集合中。”
所以如果我们使用add方法可以这样写:
fun main() {
var list1 = mutableListOf<Any>()
for(i in 0 until 5) {
list1.add(i,i)
}
println(list1)
}
或者不使用索引参数:
fun main() {
var list1 = mutableListOf<Any>()
for(i in 0 until 5) {
list1.add(i)
}
println(list1)
}
您仍然可以通过声明可变列表的初始长度来使用 set 方法(即使这不是最好的方法),如@lukas.j 所说:
fun main() {
var list1 = MutableList<Any>(5) {it}
for(i in 0 until 5) {
list1.set(i,i)
}
println(list1)
}
fun main() {
var list1 = mutableListOf<Any>()
for(i in 0 until 5) {
list1.set(i,i)
}
println(list1)
}
以上代码为长度 0 提供了超出边界的索引 0。 什么是错误。我如何使用索引将元素放入 MutableList 中。
你用错了方法。
根据 set 的文档:“它用指定元素替换元素并在给定索引处添加新元素。”
在这里声明一个空的 mutableList。因此,尝试在某个索引处进行替换会给您一个数组越界异常。
如果您想添加一个新元素,您需要使用 add 方法:“它将给定的元素添加到集合中。”
所以如果我们使用add方法可以这样写:
fun main() {
var list1 = mutableListOf<Any>()
for(i in 0 until 5) {
list1.add(i,i)
}
println(list1)
}
或者不使用索引参数:
fun main() {
var list1 = mutableListOf<Any>()
for(i in 0 until 5) {
list1.add(i)
}
println(list1)
}
您仍然可以通过声明可变列表的初始长度来使用 set 方法(即使这不是最好的方法),如@lukas.j 所说:
fun main() {
var list1 = MutableList<Any>(5) {it}
for(i in 0 until 5) {
list1.set(i,i)
}
println(list1)
}