如何在Kotlin复制列表?

我使用

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

有没有更简单的方法?


当前回答

这很好。

val selectedSeries = series.toMutableList()

其他回答

val selectedSeries = listOf(*series.toTypedArray())

在尝试浅拷贝,深拷贝克隆和更多的我发现这个解决方案肯定会为你工作。

val iterator: Iterator<Object> = yourList.iterator()
        while (iterator.hasNext())
        newList.add(iterator.next().copy())

如果您的列表包含kotlin数据类,则可以这样做

selectedSeries = ArrayList(series.map { it.copy() })

我建议你做个肤浅的拷贝

.map{it}

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

你可以使用ArrayList构造函数: