【发布时间】:2020-07-15 18:24:41
【问题描述】:
我在制作属性也具有 ArrayList 的数据 ArrayList 时遇到问题。模型数据看起来像这样的代码。
data class DataArrayInArray02(
val no: Int? = null,
val dataArray: ArrayList<Int>
)
这是我的代码
fun main() {
val dataArrayInArray = ArrayList<DataArrayInArray02>()
val dataChildrenArray = ArrayList<Int>()
for (i in 0..3) {
val data = (0..10).random()
for (j in 0..data) {
val d = (1..1000).random()
dataChildrenArray.add(d)
}
dataArrayInArray.add(DataArrayInArray02(i+1, dataChildrenArray))
println("ID : ${dataArrayInArray[i].no}, Data : ${dataArrayInArray[i].dataArray}")
dataChildrenArray.clear()
}
}
当我运行这段代码时,我得到了如上图所示的结果。
我调用 dataArrayInArray 使用循环“for”看起来像这样。
for (j in 0 until dataArrayInArray.size) {
println("ID : ${dataArrayInArray[j].no}, Data : ${dataArrayInArray[j].dataArray}")
}
但是,我得到这样的结果。
那么,哪个代码不正确?是因为使用了 dataChildrenArray.clear() 吗?如果我删除该代码。结果会是这样:
ID : 1, Data : [915, 565, 591, 254, 67]
ID : 2, Data : [915, 565, 591, 254, 67, 258, 57, 767, 866, 986, 558, 187, 976]
其中 ID 2 应仅显示数据 [258, 57, 767, 866, 986, 558, 187, 976]。
如何解决这个问题?
【问题讨论】:
-
这不是java