Ответ
Массив (Array<Element>) в Swift — это упорядоченная коллекция элементов одного типа с нулевой индексацией. Это value type, реализующий copy-on-write для эффективности.
Ключевые характеристики:
- Типизация: строгая, с поддержкой generics (
[Int],[String]) - Изменяемость: определяется объявлением (
var— изменяемый,let— неизменяемый) - Динамический размер: автоматически увеличивается при добавлении элементов
- Производительность: доступ по индексу — O(1), вставка в конец — амортизированная O(1)
Примеры:
// Создание и модификация
var numbers = [1, 2, 3]
numbers.append(4) // [1, 2, 3, 4]
numbers[0] = 10 // [10, 2, 3, 4]
// Неизменяемый массив
let colors = ["red", "green", "blue"]
// colors.append("yellow") // Ошибка компиляции
// Инициализация
var empty: [String] = []
var initialized = Array(repeating: 0, count: 5) // [0, 0, 0, 0, 0]
Оптимизация copy-on-write:
var a = [1, 2, 3]
var b = a // Нет реального копирования, разделяют память
b.append(4) // Только здесь создается копия для b
print(a) // [1, 2, 3]
print(b) // [1, 2, 3, 4]