Ответ
Массив — это структура данных, хранящая набор элементов одного типа в непрерывной области памяти. В Kotlin массивы представлены классами (IntArray, Array<String> и т.д.).
Особенности:
- Фиксированный размер после создания
- Быстрый доступ по индексу (O(1))
- Поддерживают итерацию
Пример:
val numbers = intArrayOf(1, 2, 3)
println(numbers[1]) // 2
numbers[0] = 10 // Изменение элемента
Альтернативы: Для динамического размера используйте List или MutableList.
Ответ 18+ 🔞
А, ну это же классика, ёпта! Смотри, представь себе шкаф с ящиками. Массив — это вот такой вот шкаф, где каждый ящик пронумерован, и в него можно только одну вещь определённого типа положить. Создал шкаф на три ящика — всё, больше не впихнёшь, овердохуища места не появится. Зато если тебе нужен третий ящик, ты сразу к нему идешь, не перебирая все подряд — доступ моментальный, O(1), как говорят умники.
В Kotlin это выглядит, как будто ты заказываешь мебель по каталогу. Хочешь для чисел — IntArray, для строк — Array<String>. Собирается быстро.
Вот, смотри, как это выглядит в коде, простейший пример:
val numbers = intArrayOf(1, 2, 3)
println(numbers[1]) // 2
numbers[0] = 10 // Изменение элемента
Видишь? Создали массив numbers, положили туда 1, 2, 3. Вытащили из ящика под номером 1 (счёт с нуля, не забывай, а то будешь как дурак тыкать не туда) — получили двойку. А потом взяли и в самый первый ящик (индекс 0) засунули десятку вместо единицы. Всё, массив теперь [10, 2, 3]. Быстро, удобно, но размер фиксирован, блядь.
А теперь главное, чувак: если тебе вдруг понадобится после создания шкафа добавить четвёртый ящик — нихуя не выйдет. Шкаф-то уже стоит. Вот тут-то и вспоминаешь про List или MutableList. Это как шкаф-трансформер, который можно растягивать, когда надо. Но за эту гибкость платишь чуть более медленным доступом иногда. Выбирай, что тебе важнее: скорость и простота или возможность накидать овердохуища элементов потом.
Видео-ответы
▶
▶
▶
▶
▶
▶
▶