您好有人能幫助我如何能在的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. 將項目添加到ArrayList
- 3. android將項目添加到arraylist from arraylist
- 4. PlayFramework [NullPointerException:null]在ArrayList或HashMap中添加項目時
- 5. Kotlin Kmongo插入並返回插入的項目
- 6. Kotlin - 將項目添加到ExpandableListView
- 7. 無法在多個位置添加或插入項目MyFile
- 8. 如何在Kotlin的HashMap中將時間Arraylist的項目分組?
- 9. 錯誤添加ArrayList的項目的ListView
- 10. 創建ArrayList和添加項目的ListView
- 11. 從Datagrid插入多個項目到Arraylist
- 12. 如何在Android Studio項目中添加Kotlin類?
- 13. 項目不添加到我的ArrayList或他們不顯示
- 14. Android Kotlin將項目添加到Spinner的ListView中
- 15. 在程序過程中在ArrayList中添加項目
- 16. 將項目添加到多維ArrayList
- 17. 創建一個ArrayList並添加項目
- 18. Android NullPointerException當添加項目ArrayList <>
- 19. ArrayList添加項目錯誤Android(Eclipse)
- 20. 爲什麼循環加倍ArrayList中的項目添加
- 21. SQLite添加或插入值
- 22. 在HashMap中添加條目到ArrayList
- 23. 附加或插入一個項目列表的列表在python
- 24. 如何在系列的開頭添加/插入項目?
- 25. 只添加最後一個項目在ArrayList中兩次
- 26. 將ArrayList插入到ArrayList中
- 27. 我只想要添加arraylist中的選中項目
- 28. java將項目從一個arraylist添加到另一個arraylist
- 29. Java:麻煩添加項目ArrayList <ArrayList <Integer>>
- 30. 在Arraylist中添加用戶輸入
在不可變列表中執行'+ =',需要將列表中的所有元素複製到新的可變列表中,然後將其重新分配給您的實際列表。我不知道這是合適的聲明你的列表爲'var'。無論如何,聲明一個var對我來說不是一個好主意。 – crgarridos
如果一個列表是不可變的,那麼沒有其他選項將其聲明爲'var'。如果一個不可變列表被聲明爲'val',那麼列表不能永遠改變。只是將它重新分配給另一個變量是可能的。 – guenhter
的確,我不想允許改變我的變量的引用。它可能會在外部/併發任務中產生副作用。更好地創建一個副本來提取邏輯。但這不在問題的範圍之內。 – crgarridos