Я пытаюсь отобразить пользователей из моей базы данных в ArrayList только с их именами пользователей, при этом catch состоит в том, что мне нужно, чтобы первая запись в массиве была пустой, поскольку массив строк входит в адаптер массива Spinner.
Поэтому, если бы у меня был код вроде этого:
val users = ArrayList<String>() users[0] = "" dh.getUsers().mapTo(users) { it.toString() }
Так будут ли пользователи по-прежнему иметь «» в 0-й позиции, или будет ли переписывать карту?
Вот код для mapTo()
:
public inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.mapTo(destination: C, transform: (T) -> R): C { for (item in this) destination.add(transform(item)) return destination }
Как вы можете видеть, он использует add()
для destination
объекта, поэтому он не будет перезаписывать строку в позиции 0
и результат первого преобразования toString()
будет вставлен в позицию 1
.