Ответ
Словарь (Dictionary/Map) и Массив (Array/List) — фундаментальные структуры данных с разными принципами организации и доступа.
Массив:
- Хранение: Упорядоченная коллекция элементов.
- Доступ: По целочисленному индексу (позиции).
- Ключевые операции:
append, доступ по индексу[i], итерация по порядку. - Сложность: Доступ по индексу — O(1). Поиск по значению — O(n).
let array = ["Apple", "Banana", "Cherry"]
print(array[1]) // "Banana"
Словарь:
- Хранение: Неупорядоченная (или с неопределенным порядком) коллекция пар ключ-значение.
- Доступ: По уникальному ключу (часто строка или число).
- Ключевые операции: Вставка/получение по ключу
[key], проверка наличия ключа. - Сложность: В среднем O(1) для вставки, удаления и поиска по ключу (реализация на основе хэш-таблицы).
let dictionary = ["FR": "France", "US": "United States"]
print(dictionary["FR"]) // "France"
Когда что использовать:
- Массив: Когда важен порядок элементов, нужен простой перебор или доступ по известной позиции.
- Словарь: Когда нужна быстрая выборка данных по уникальному идентификатору (ключу), а порядок не важен.