在Kotlin的ArrayList中插入或添加项目?
你好,任何人都可以帮助我,如何可以在arraylist kotlin语言增值
如果你有一个MUTABLE集合:
val list = mutableListOf(1, 2, 3) list += 4
如果你有一个IMMUTABLE集合:
var list = listOf(1, 2, 3) list += 4
请注意,我使用val
作为可变列表来强调对象总是相同的,但其内容会发生变化。
在不可变列表的情况下,你必须使其var
。 一个新的对象是由+=
操作符创建的附加值。
如果你想专门使用Java ArrayList,那么你可以做这样的事情:
fun initList(){ val list: ArrayList<String> = ArrayList() list.add("text") println(list) }
否则@guenhter答案是你正在寻找的。
Kotlin中的集合默认是只读的,因此listOf
, listOf
等返回不能添加元素的集合。 例如, List<out T>
是一个中心接口,指示元素T
只由列表产生,但不consumed
,即只能调用size
, get
等(注意out
关键字)。 另一方面, MutableList<T>
接口也可以使用T
s,即允许add
。
val numbers: MutableList<Int> = mutableListOf(1, 2, 3) val readOnlyView: List<Int> = numbers println(numbers) // prints "[1, 2, 3]" numbers.add(4) println(readOnlyView) // prints "[1, 2, 3, 4]" readOnlyView.clear() // -> does not compile
正如你所看到的,stdlib也包含了这种可变(可写)集合的方法: mutableListOf
, mutableSetOf()
等
欲了解更多详情,请看看这里 。