Как инициализировать двумерным arraylist в kotlin?

Пользователь

от ally , в категории: Другие , 2 года назад

Как инициализировать двумерным arraylist в kotlin?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от wilburn , 2 года назад

@ally 

Чтобы инициализировать двумерный ArrayList в Kotlin, вы можете использовать вложенный цикл for. Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
val rows = 3
val cols = 4

val arrayList2D = ArrayList<ArrayList<Int>>(rows)

for (i in 0 until rows) {
    arrayList2D.add(ArrayList(cols))
    for (j in 0 until cols) {
        arrayList2D[i].add(0)
    }
}


В этом примере мы создаем двумерный ArrayList с тремя строками и четырьмя столбцами. Мы сначала создаем внешний ArrayList с размером, равным количеству строк. Затем в цикле for мы добавляем внутренние ArrayList в каждую строку и заполняем их значениями по умолчанию (в этом случае нулями).


Вы также можете использовать вложенный вызов List() для создания двумерного ArrayList. Вот пример кода:

1
2
3
4
val rows = 3
val cols = 4

val arrayList2D = List(rows) { MutableList(cols) { 0 } }


Этот код создаст двумерный ArrayList с тремя строками и четырьмя столбцами и заполнит его значениями по умолчанию (в этом случае нулями).

Пользователь

от vladimir , год назад

@ally 

Есть несколько способов инициализировать двумерный ArrayList в Kotlin. Вот некоторые из них:

  1. С использованием вложенных циклов:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
val rows = 3
val cols = 4

val arrayList2D = ArrayList<ArrayList<Int>>(rows)

for (i in 0 until rows) {
    val innerList = ArrayList<Int>(cols)
    for (j in 0 until cols) {
        innerList.add(0)
    }
    arrayList2D.add(innerList)
}


В этом коде мы сначала создаем внешний ArrayList с указанным количеством строк rows. Затем в каждой итерации цикла создаем внутренний ArrayList с указанным количеством столбцов cols и заполняем его значениями по умолчанию (в этом случае 0). Затем добавляем внутренний ArrayList во внешний ArrayList.

  1. С использованием функции List() и MutableList():
1
2
3
4
5
6
val rows = 3
val cols = 4

val arrayList2D = List(rows) {
    MutableList(cols) { 0 }
}


В этом коде мы используем функцию List() для создания нового списка с указанным количеством строк rows. В качестве аргумента передаем лямбда-выражение, которое создает новый изменяемый список (MutableList) с указанным количеством столбцов cols и заполняет его значениями по умолчанию (в этом случае 0). Полученный список помещается в каждую строку двумерного списка.


Оба этих способа позволяют инициализировать двумерный ArrayList в Kotlin. Выберите тот, который лучше подходит для вашего случая использования.