В чем ключевые различия между использованием Dictionary и Array в Swift?

«В чем ключевые различия между использованием Dictionary и Array в Swift?» — вопрос из категории Алгоритмы и структуры данных, который задают на 10% собеседований IOS Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Dictionary и Array — это разные структуры данных с различными характеристиками и случаями применения.

Сравнительная таблица:

Характеристика Array Dictionary
Порядок элементов Гарантирован Не гарантирован
Доступ к элементам По целочисленному индексу ([0]) По уникальному ключу (["id"])
Сложность поиска O(n) для поиска по значению O(1) в среднем для поиска по ключу
Тип элементов Однородные значения Пары ключ-значение
Вставка/удаление O(n) в середине массива O(1) в среднем

Примеры использования:

// Array — для упорядоченных коллекций
let fruits: [String] = ["Apple", "Banana", "Orange"]
let firstFruit = fruits[0] // "Apple"

// Dictionary — для ассоциативных коллекций
let fruitPrices: [String: Double] = [
    "Apple": 1.99,
    "Banana": 0.99,
    "Orange": 2.49
]
let applePrice = fruitPrices["Apple"] // 1.99

Когда использовать Dictionary:

  • Нужен быстрый доступ по уникальному ключу (ID, хеш)
  • Данные логически представляют пары ключ-значение
  • Порядок элементов не важен

Когда использовать Array:

  • Важен порядок элементов
  • Нужен последовательный доступ или итерация
  • Часто используются операции с индексами
  • Элементы однородны и не требуют ключей