如何在Kotlin复制列表?
我使用
val selectedSeries = mutableListOf<String>()
selectedSeries.addAll(series)
有没有更简单的方法?
如何在Kotlin复制列表?
我使用
val selectedSeries = mutableListOf<String>()
selectedSeries.addAll(series)
有没有更简单的方法?
当前回答
在尝试浅拷贝,深拷贝克隆和更多的我发现这个解决方案肯定会为你工作。
val iterator: Iterator<Object> = yourList.iterator()
while (iterator.hasNext())
newList.add(iterator.next().copy())
其他回答
我建议你做个肤浅的拷贝
.map{it}
这将适用于许多收集类型。
就像在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的复制构造函数。
val selectedSeries = listOf(*series.toTypedArray())
在尝试浅拷贝,深拷贝克隆和更多的我发现这个解决方案肯定会为你工作。
val iterator: Iterator<Object> = yourList.iterator()
while (iterator.hasNext())
newList.add(iterator.next().copy())
var oldList: List<ClassA>?
val newList = oldList.map { it.copy() }