如何在Kotlin复制列表?

我使用

val selectedSeries = mutableListOf<String>()
selectedSeries.addAll(series)

有没有更简单的方法?


当前回答

这很好。

val selectedSeries = series.toMutableList()

其他回答

就像在Java中一样:

列表:

    val list = mutableListOf("a", "b", "c")
    val list2 = ArrayList(list)

Map:

    val map = mutableMapOf("a" to 1, "b" to 2, "c" to 3)
    val map2 = HashMap(map)

假设你的目标是JVM(或Android);我不确定它是否适用于其他目标,因为它依赖于ArrayList和HashMap的复制构造函数。

var oldList: List<ClassA>?
val newList = oldList.map { it.copy() }

你可以使用ArrayList构造函数:

这很好。

val selectedSeries = series.toMutableList()

我建议你做个肤浅的拷贝

.map{it}

这将适用于许多收集类型。