У меня проблема с созданием данных ArrayList, атрибуты которых тоже имеют ArrayList. Данные модели выглядят так:
data class DataArrayInArray02(
val no: Int? = null,
val dataArray: ArrayList<Int>
)
Я хочу получить данные DataArrayInArray02 , например.
Это мой код
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()
}
}
Когда я запускаю этот код, я получаю результат, как на картинке выше.
I вызов 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].
Как решить эта проблема?