Почему arrayOf () такая же, как mutableListOf (), но ограничена?

Ну, вам нужно SELECT те значения INTO что-то, чтобы скомпилировать (по крайней мере). Будет ли это работать, это еще один вопрос.

0
задан CommonsWare 19 January 2019 в 21:12
поделиться

1 ответ

Они не одинаковы:

arrayOf() создает Array и mutableListOf() и ArrayList под капотом.

Какой из них вы выберете, зависит от вашего приложения.

Массив - это структура данных фиксированного размера. Чтобы добавить / удалить значения, вам нужно создать копию старого массива с новыми изменениями (что дорого), но, независимо от того, какой массив у вас большой, доступ к элементу имеет постоянную временную сложность. Вы должны сделать это вручную, хотя.

С другой стороны, ArrayList использует массив для внутреннего представления, но предоставляет вам изменяемый интерфейс. Таким образом, добавление / удаление элемента все равно приведет к копированию внутреннего массива, но этот процесс абстрагирован от вас.

Заключение:

  • Если вам нужно инициализировать список один раз и только после того, как у него есть доступ, вы должны использовать Array.
  • Если вам нужно добавлять / удалять элементы в очень редких случаях, и большинство читает, вы должны использовать ArrayList.
  • Если вам нужно постоянно добавлять / удалять значения, используйте LinkedList.
0
ответ дан Willi Mentzel 19 January 2019 в 21:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: