Динамическое заполнение двумерного массива в 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)