您好有人能帮助我如何能在的ArrayList在增值科特林语言在Kotlin的ArrayList中插入或添加项目?
3
A
回答
6
如果你有一个可变的集合:
val list = mutableListOf(1, 2, 3)
list += 4
如果你有一个不变的集合:
var list = listOf(1, 2, 3)
list += 4
请注意,我使用val
作为可变列表来强调该对象总是相同的,但它的字nt改变。
在不可变列表的情况下,你必须使它成为var
。具有附加值的+=
运算符创建了一个新对象。
3
如果你想专门用java的ArrayList,那么你可以做这样的事情:
fun initList(){
val list: ArrayList<String> = ArrayList()
list.add("text")
println(list)
}
否则@guenhter答案是你正在寻找的人。
0
Kotlin中的收藏默认为只读,因此listOf
,mapOf
等返回集合,您无法添加元素。 例如,List<out T>
是一个中央接口,其中out
关键字指示元件T
仅由产生的而不是consumed
。结果,只有size
,get
等可以被调用。 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()
等
欲了解更多详情,请看看at the docs。
相关问题
- 1. 将项目添加到ArrayList
- 2. Kotlin Kmongo插入并返回插入的项目
- 3. Kotlin - 将项目添加到ExpandableListView
- 4. 从Datagrid插入多个项目到Arraylist
- 5. 项目不添加到我的ArrayList或他们不显示
- 6. 如何在Android Studio项目中添加Kotlin类?
- 7. Android NullPointerException当添加项目ArrayList <>
- 8. 创建一个ArrayList并添加项目
- 9. 将项目添加到多维ArrayList
- 10. Android Kotlin将项目添加到Spinner的ListView中
- 11. 在HashMap中添加条目到ArrayList
- 12. 只添加最后一个项目在ArrayList中两次
- 13. 我只想要添加arraylist中的选中项目
- 14. 在Arraylist中添加用户输入
- 15. 一次向Java中的ArrayList添加多个项目
- 16. 如何添加一个项目已存在arraylist在Android
- 17. 在ArrayList中保留项目
- 18. 在代码中添加项目时使用ItemTemplate添加项目
- 19. 如何添加Android项目作为库或添加ARR在Android模块项目
- 20. 添加的形式另一个项目/行,插入DB
- 21. 项目欧拉#4 ArrayList中不添加整数
- 22. 插入到的resultSet ArrayList中
- 23. 在Kotlin中为JavaFX项目生成jar
- 24. 在basicvaluepair中添加arraylist
- 25. POJO的ArrayList只包含最后添加的项目。
- 26. ArrayList中的RecyclerView项目
- 27. ArrayList中的计数项目
- 28. Java的ArrayList的OutofBounds添加一项
- 29. 添加资源到eclipse项目/插件
- 30. 插入ArrayList mongodb
在不可变列表中执行'+ =',需要将列表中的所有元素复制到新的可变列表中,然后将其重新分配给您的实际列表。我不知道这是合适的声明你的列表为'var'。无论如何,声明一个var对我来说不是一个好主意。 – crgarridos
如果一个列表是不可变的,那么没有其他选项将其声明为'var'。如果一个不可变列表被声明为'val',那么列表不能永远改变。只是将它重新分配给另一个变量是可能的。 – guenhter
的确,我不想允许改变我的变量的引用。它可能会在外部/并发任务中产生副作用。更好地创建一个副本来提取逻辑。但这不在问题的范围之内。 – crgarridos