Что такое массив

Ответ

Массив — это структура данных, хранящая набор элементов одного типа в непрерывной области памяти. В 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. Это как шкаф-трансформер, который можно растягивать, когда надо. Но за эту гибкость платишь чуть более медленным доступом иногда. Выбирай, что тебе важнее: скорость и простота или возможность накидать овердохуища элементов потом.