Динамическое заполнение двумерного массива в Kotlin

Одномерный массив можно удобно заполнять прямиком в коде:

var array = emptyArray<String>()
array += "строка"

Но в ситуации с двумерным массивом var array = Array(7, {emptyArray<String>()}) я не нашел информации, как можно так же удобно заполнить массив без прибегания к счетчикам и прочим костылям. array[position] += "строка" уже не сработает. Как решить данную проблему?


Ответы (2 шт):

Автор решения: Eugene Krivenja

Либо так

array[position] = array[position] + "строка"

Либо написать свой сеттер для конкретной реализации двумерного массива

private operator fun Array<Array<String>>.set(i: Int, value: String) {
    this[i] = this[i] + value
}
→ Ссылка
Автор решения: Виталий Сорокин

Нашел ответ на свой же вопрос: для данной идеи я использую MutableList

var timetable = Array(7, { mutableListOf<String>()})

И в коде можно просто добавить значение к необходимой строке:

timetable[position].add(value)
→ Ссылка