fun main(args: Array<String>) {
//get() and set()
var arrOne:MutableList<Int> = mutableListOf<Int>(3, 7, 8) //how does '3', '7' and '8' work?
arrOne.add(11)
arrOne.add(43)
arrOne.add(35)
arrOne.add(47)
arrOne.set(0, 23)
arrOne.set(1, 34)
arrOne.set(2, 56)
arrOne.set(3, 66)
arrOne.set(4, 76)
print(arrOne)
println("\n" + arrOne.get(2))
val arrTwo:ArrayList<String> = ArrayList<String>(3) //how does '3' work?
println(arrTwo.size)
arrTwo.add("x")
arrTwo.add("t")
arrTwo.add("c")
arrTwo.add("g")
arrTwo.set(1, "y")
arrTwo.set(2, "z")
println(arrTwo.size)
print(arrTwo)
println("\n" + arrTwo.get(0))
}
我真的不明白你想说什么,但无论如何。
mutableListOf
是一个使用输入参数作为初始值创建MutableList<T>
的函数。这意味着这条线
mutableListOf<Int>(3, 7, 8)
将输出List<Int>
,如[3, 7, 8]
ArrayList<String>(3)
表示“创建一个初始容量为3个元素的ArrayList容器”。这意味着这条线
val arrTwo:ArrayList<String> = ArrayList<String>(3)
将输出List<String>
,如[]
两者都可以在创建后进行变异,并且都使用IndexOutOfBoundsException
或set
(get
扩展ArrayList
)使用MutableList
@LppEdd - 谢谢我弄清楚了
var arrOne:MutableList<Int> = mutableListOf<Int>(3) //will result in [3]
//add() extends the list
arrOne.add(11) //[3, 11]
arrOne.add(43) //[3, 11, 43]
arrOne.add(35) //[3, 11, 43, 35]
arrOne.add(47) //[3, 11, 43, 35, 47]
//set() replace the value at the given index
arrOne.set(0, 23) //[23, 11, 43, 35, 47]
arrOne.set(1, 34) //[23, 34, 43, 35, 47]
arrOne.set(2, 56) //[23, 34, 56, 35, 47]
arrOne.set(3, 66) //[23, 34, 56, 66, 47]