ArrayList浅拷贝clone,Kotlin
import kotlin.collections.ArrayList
fun main() {
var list = ArrayList<MyData>()
for (i in 0..<3) {
list.add(MyData(i, 0))
}
//浅拷贝list到copyList
var copyList = list.clone()
println(list)
println(copyList)
println("---")
//改变list的值,然后观察copyList的值变化。
list.forEachIndexed { index, myData ->
myData.pos = index
}
list.removeAt(list.size - 1)
println(list)
println(copyList) //copyList里面的对象MyData的值和list一致,如果该元素存在。
}
data class MyData(var index: Int, var pos: Int)
[MyData(index=0, pos=0), MyData(index=1, pos=0), MyData(index=2, pos=0)]
[MyData(index=0, pos=0), MyData(index=1, pos=0), MyData(index=2, pos=0)]
---
[MyData(index=0, pos=0), MyData(index=1, pos=1)]
[MyData(index=0, pos=0), MyData(index=1, pos=1), MyData(index=2, pos=2)]