Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Что такое List?
List — это интерфейс коллекции в Java/Kotlin, представляющий упорядоченный набор элементов (последовательность). Это одна из основных абстракций в Collections Framework.
Ключевые характеристики
Свойства List:
- Упорядоченность — элементы расположены в определённом порядке с индексами (0, 1, 2...)
- Дублирование — допускает одинаковые элементы
- Null-значения — может содержать null (зависит от реализации)
- Изменяемость — может быть mutable (ArrayList) или immutable (listOf())
Основные реализации в Kotlin
// Неизменяемый список (read-only)
val immutableList: List<String> = listOf("A", "B", "C")
// Изменяемый список
val mutableList: MutableList<String> = mutableListOf("A", "B", "C")
mutableList.add("D")
mutableList.remove("A")
// ArrayList — реализация с динамическим массивом
val arrayList: ArrayList<String> = arrayListOf("X", "Y")
// LinkedList — реализация со связным списком
val linkedList: LinkedList<String> = linkedListOf("P", "Q")
Основные операции
add(element)— добавить элемент в конецadd(index, element)— вставить по индексуremove(element)— удалить элементremoveAt(index)— удалить по индексуget(index)илиlist[index]— получить элементindexOf(element)— найти индексsize— количество элементовisEmpty(),isNotEmpty()— проверкаforEach { }— итерация
Важные различия ArrayList vs LinkedList
| Операция | ArrayList | LinkedList |
|---|---|---|
| Доступ по индексу | O(1) | O(n) |
| Добавление в конец | O(1) амортизированно | O(1) |
| Добавление в начало | O(n) | O(1) |
| Удаление | O(n) | O(n) в худшем |
| Память | Компактнее | Больше (указатели) |
ArrayList используется чаще — оптимален для случайного доступа и обычных операций в Android.
Практический пример в Android
class UserAdapter(val users: List<User>) : RecyclerView.Adapter<UserAdapter.ViewHolder>() {
override fun getItemCount(): Int = users.size
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val user = users[position]
holder.bind(user)
}
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
fun bind(user: User) {
// ...
}
}
}
List — фундаментальная концепция для работы с коллекциями данных в Android-разработке, особенно при работе с адаптерами и RecyclerView.