При создании массивов надо задавать изначальный размер. При создании списков надо каждый новый элемент добавлять в него, а не пытаться обращаться к несуществующим индексам.
Вы в сети пробовали искать, как наполнять массивы и списки?
С массивами такое делать нельзя, в списках есть remove по индексу. Только учтите, что в двухмерном массиве внешнее измерение обойдётся одним remove, а вот для внутреннего надо будет бежать циклом и удалять вложенный элемент с нужным индексом.
добрый день,мжт кто нибудь обьяснить что тут происходит private val serviceJob = Job() private val serviceScope = CoroutineScope(Dispatchers.Main + serviceJob) я про Dispatchers.Main + serviceJob
В коде выше я особо его не вижу, но может не все вижу, serviceJob где-то ещё используется.
Нету смысла только потому что в функции CorouutineScope идёт проверка на наличии Job, и если ее нет то сам делает context + Job(). Контекст должен содержать Job.
Я использую + в такой ситуации, для IO: Dispatchers.IO + Supervisor Job()