在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 = ArrayList() list.add("text") println(list) }
否则@guenhter答案是你正在寻找的。
Kotlin中的集合默认是只读的,因此listOf
, listOf
等返回集合,您不能添加元素。 例如, List
是一个中心接口,其中out
关键字指示元素T
仅由列表产生 ,但不consumed
。 因此,只能调用size
, get
等。 另一方面, MutableList
接口也可以使用 T
s,即允许add
。
val numbers: MutableList = mutableListOf(1, 2, 3) val readOnlyView: List = 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()
等
有关更多详细信息,请查看文档 。
- Kotlin泛型与扩展
- 将源文件附加到kotlin库项目不会显示在AS中
- 不能使用MongoDB的spring验证
- Android Studio 3无法建立kotlin片段
- 有没有干净的干净的方式来从HTTP请求JSON更新多个textViews?
- Kotlin:将ArrayList <String!>转换为Array <String>
- 调用java中java关键字的kotlin函数?
- Android Studio 2.3.2和Kotlin 1.1.2-4 +数据绑定
- Android kotlin onCreate(savedInstanceState:Bundle?)导致IllegalArgumentException