如何在Kotlin复制列表?

我使用

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

有没有更简单的方法?


当前回答

你可以使用ArrayList构造函数:

其他回答

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

这很好。

val selectedSeries = series.toMutableList()

以我之见,最好也是最常用的方法是在Kotlin(1.6+)的新版本中使用集合构建器。

   val shallowListCopy = buildList { addAll(list) }

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

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

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

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