> Что такое Set, его особенности, зачем нужен и какие есть реализации (iOS, Swift)
Уровень: junior · Роль: mobile · Категория: Технические вопросы
Компании: Тинькофф
Стек: iOS, Swift
> Пример ответа
Set - это коллекция, которая хранит уникальные элементы без определённого порядка. В Swift Set реализован как хеш-таблица, поэтому его основная особенность - гарантия уникальности значений: попытка добавить дубликат игнорируется.
Зачем нужен: для быстрой проверки принадлежности элемента (O(1) в среднем), удаления дубликатов из массива, выполнения операций над множествами (объединение, пересечение, разность). Это эффективнее, чем массив, если порядок не важен, а важна скорость поиска.
Реализации в iOS/Swift:
-
Set<Element>- основная структура из стандартной библиотеки, гдеElementдолжен соответствовать протоколуHashable. -
NSMutableSet/NSSet- классы из Foundation, используемые для совместимости с Objective-C или при работе с нехешируемыми объектами (например, черезNSCopying). -
OrderedSet- отсутствует в стандартной библиотеке, но доступен в Foundation какNSOrderedSet(сохраняет порядок добавления, но менее производителен для поиска).
Пример использования:
SWIFTvar fruits: Set<String> = ["apple", "banana", "orange"]fruits.insert("apple") // не добавится, так как уже естьfruits.contains("kiwi") // false
> Похожие задачи по mobile
Какие прикладные протоколы используются в проекте
Почему предпочтительнее использовать Dependency Injection вместо создания объектов вручную
Как справиться с JSON, если поля не совпадают со структурой в Swift
Что такое Map и Set в JavaScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью