如何在Kotlin中将项添加到ArrayList?

问题描述 投票:34回答:4

如何在Kotlin中向ArrayList添加项目?

kotlin kotlin-android-extensions
4个回答
41
投票

如果你有MUTABLE系列:

val list = mutableListOf(1, 2, 3)
list += 4

如果你有一个IMMUTABLE集合:

var list = listOf(1, 2, 3)
list += 4

请注意,我使用val作为可变列表,以强调对象始终相同,但其内容会发生变化。

如果是不可变列表,你必须使它成为var+=运算符使用附加值创建一个新对象。


35
投票

对于刚刚从java迁移的人来说,在Kotlin中,List默认是不可变的,并且列表的可变版本称为MutableList

因此,如果你有类似的东西:

val list: List<String> = ArrayList()

在这种情况下,您将无法获得add()方法,因为列表是不可变的。因此,你必须声明一个MutableList,如下所示:

val list: MutableList<String> = ArrayList()

现在您将看到一个add()方法,您可以将元素添加到任何列表中。


9
投票

如果你想专门使用java ArrayList,你可以这样做:

fun initList(){
    val list: ArrayList<String> = ArrayList()
    list.add("text")
    println(list)
}

否则@guenhter答案就是你要找的那个。


-1
投票

基本上有两种类型的集合1.可变集合和2.不可变集合

可变集合:我们可以随时将项目添加到集合对象。

val数字:MutableList <“Int> = mutableListOf(1,2,3)

numbers.add(4)

println(数字)。输出将是 - > 1,2,3,4

不可变集合:一旦集合对象启动,则永远不会更改新对象或永远不能从集合对象中清除对象

val数字:List <“Int> = listOf(1,2)

println(数字)=> o / p将为1,2

numbers.add(10)=>如果我们再次尝试添加数字,则会观察到编译错误

© www.soinside.com 2019 - 2024. All rights reserved.