Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Swift : array, set, dictionary

В чем разница между Array, Set и Dictionary?

Вопрос проверяет понимание основных коллекций в Swift и их различий по структуре, скорости доступа и уникальности элементов.

Короткий ответ

Array — упорядоченный список, допускает дубли; доступ по индексу за O(1).
Set — неупорядоченное множество уникальных элементов, поиск за O(1) в среднем.
Dictionary — неупорядоченное отображение «ключ→значение», доступ по ключу за O(1) в среднем.

Длинный ответ

Array

  • Структура: упорядоченный список элементов одинакового типа.

  • Дублирование: допускает одинаковые значения.

  • Доступ: по индексу за константное время.

Пример:

var a: [Int] = [1, 2, 3]
a.append(4)
let x = a[0] // 1

Set

  • Структура: хеш-таблица уникальных элементов.

  • Упорядоченность: отсутствует, порядок неопределён.

  • Поддержка операций: пересечение, объединение, вычитание.

Пример:

var s: Set<String> = ["a", "b", "c"]
s.insert("d")
let contains = s.contains("a") // true

Dictionary

  • Структура: отображение ключей в значения через хеш-таблицу.

  • Ключи: должны быть Hashable, уникальны.

  • Доступ: по ключу за среднее O(1).

Пример:

var d: [String: Int] = ["one": 1, "two": 2]
d["three"] = 3
let v = d["one"] // Optional(1)

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

  • Array для упорядоченных списков с дубликатами.

  • Set для множества без дубликатов и быстрых проверок наличия.

  • Dictionary для хранения пар «ключ→значение» и быстрого поиска по ключу.

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Swift

    Swift

Ключевые слова

#array

#set

#dictionary

Подпишись на iOS Developer в телеграм

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.