Почему Kotlin не позволяет мне добавлять элементы в список Array - PullRequest
0 голосов
/ 18 апреля 2019

У меня есть объект Kotlin, который я строю из ответа API

schedule: Map<String, ArrayList<String>>

мой объект выглядит ниже.

{0 = [0, 2,00, 23,59], 1 = [1, 2,00, 23,59], 2 = [2, 2,00, 23,59], 4 = [4, 2,00, 23,59], 5 = [5, 2,00, 23,59], 6 = [6, 2,00, 23,59]}

В какой-то момент я хотел бы добавить / удалить запись из коллекции. Например, после моего 3-го объекта я хотел бы добавить запись

3 = [3, 2,00, 23,59].

Я до сих пор пробовал schedule.schedule.plus() метод безуспешно.

Это должно позволить мне добавить Map<String, ArrayList<String> Но не будет?

Обновление: следующее помогло мне добавить нужный объект, но теперь я не могу отсортировать коллекцию.

var list =  ArrayList<String>()
list.add(0,"2")
list.add(1,"23")
schedule.schedule?.put(num.toString(),list)

Ответы [ 2 ]

0 голосов
/ 18 апреля 2019

Следующие два помогли мне добавить или удалить записи.

Добавить

 var list =  ArrayList<String>()
 list.add(0,num.toString())
 list.add(1,"5.0")
 list.add(2,"14.0")
 schedule.schedule?.put(num.toString(),list)

и для снятия.

schedule.schedule.remove("0")

Но мне пришлось изменить Map на MutableMap<String, ArrayList<String>>

0 голосов
/ 18 апреля 2019

Если вы хотите присвоить значение списку, используйте функцию plusAssign().потому что метод plus() подобен поведению при a = b + c, а plusAssign() - это + = b.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...