Я пытаюсь освоить «родной путь Kotlin» для работы в Android, будучи экспертом ни в Kotlin, ни в Java, ни в разработке Android. В частности, когда использовать ArrayList
против MutableList
.
Мне кажется, что MutableList
следует выбирать, когда это возможно . Тем не менее, если я посмотрю на примеры Android, они, кажется, всегда выбирают ArrayList
(насколько я нашел до сих пор).
Ниже приведен фрагмент рабочего примера, который использует ArrayList
и расширяет Java RecyclerView.Adapter
.
class PersonListAdapter(private val list: ArrayList<Person>,
private val context: Context) : RecyclerView.Adapter<PersonListAdapter.ViewHolder>() {
Вопрос 1)
Могу ли я просто написать приведенный выше код следующим образом (примечание MutableList<>
вместо ArrayList<>
), даже если я позаимствовал у Java-код Android?
class PersonListAdapter(private val list: MutableList<Person>,
private val context: Context) : RecyclerView.Adapter<PersonListAdapter.ViewHolder>() {
Вопрос 2)
Действительно ли лучше всегда использовать MutableList
сверх ArrayList
? Каковы основные причины? Часть этой ссылки, которую я предоставляю выше, идет мне на ум, но мне кажется, что MutableList
- более слабая реализация, которая более способна изменяться и улучшаться в будущем. Это правильно?