---
title: Коллекции
seo:
  title: Коллекции — IOS Developer
  description: Тема «Коллекции» для собеседования IOS Developer. Что такое коллекция? Какие есть коллекции в Swift?
---

[Все темы IOS Developer](/ios-developer)

## <strong>Что такое коллекция?</strong> [#q-14bee738d69b81b09732fc179861d938]

Коллекция в программировании - это группа элементов, обычно однотипных, которые могут быть легко обработаны вместе. Она предоставляет удобные методы для добавления, удаления, поиска и обработки элементов. Коллекции используются для эффективного хранения и управления данными в приложениях. Примеры коллекций включают массивы, списки, множества и словари.

:::note[Ссылки для изучения]

1. [Типы коллекций](https://swiftbook.ru/content/languageguide/collection-types/)
   :::

---

## <strong>Какие есть коллекции в Swift?</strong> [#q-14bee738d69b81cf9b4be99ebc2626bc]

В Swift есть несколько основных типов коллекций&#58;

1. Массивы (<code>Array</code>)&#58; Упорядоченная коллекция элементов одного типа, которые могут повторяться.

1. Словари (<code>Dictionary</code>)&#58; Неупорядоченная коллекция пар ключ-значение. Ключи должны быть уникальными.

1. Множества (<code>Set</code>)&#58; Коллекция уникальных элементов без определенного порядка.

Кроме того, в Swift также существуют специализированные коллекции, такие как <code>NSOrderedSet</code> и <code>NSCountedSet</code>, которые можно использовать при работе с Objective-C кодом.

:::note[Ссылки для изучения]

1. [Типы коллекций](https://swiftbook.ru/content/languageguide/collection-types/)
   :::

---

## <strong>Какую коллекцию вы бы выбрали для хранения уникальных элементов и почему?</strong> [#q-14bee738d69b812cb585cb00dd4e9b38]

Для хранения уникальных элементов в Swift следует использовать <code>Set</code>. <code>Set</code> автоматически поддерживает уникальность своих элементов и обеспечивает быстрые операции добавления, удаления и поиска.

:::note[Ссылки для изучения]

1. [Типы коллекций](https://swiftbook.ru/content/languageguide/collection-types/)
   :::

---

## <strong>Как работает структура данных</strong> <code>Dictionary</code> <strong>в Swift?</strong> [#q-14bee738d69b81149979cef7b5bcc72d]

Dictionary хранит пары с уникальными ключами и использует хеширование. При хорошем распределении хешей поиск и удаление имеют ожидаемую сложность O(1), а вставка также учитывает амортизированную стоимость расширения. Это не гарантия O(1) для худшего случая; копирование общего буфера при изменении также может стоить O(n).

Пример&#58;

```swift
var scores: [String: Int] = ["Alice": 50, "Bob": 75]
```

:::note[Ссылки для изучения]

1. [Типы коллекций](https://swiftbook.ru/content/languageguide/collection-types/)
   :::
