0Pricing
Swift Academy · Урок

Операции над множествами: объединение, пересечение, разность

Эффективно выполняйте математические операции над множествами и проверяйте принадлежность элементов

«Операции над множествами: объединение, пересечение, разность» — бесплатный урок Swift Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Swift Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Swift Academy содержит 4 уроков всего.

Добро пожаловать

`Set` хранит уникальные неупорядоченные значения, соответствующие протоколу `Hashable`. Он поддерживает эффективные математические операции над множествами: объединение, пересечение, разность и другие.

Создание множеств

```swift var fruits: Set = ["apple","banana","cherry"] var inferred: Set = [1, 2, 3, 3, 2] // {1,2,3} — duplicates removed ``` Множества записываются так же, как массивы, но имеют тип `Set`.

Проверка принадлежности

```swift let primes: Set = [2,3,5,7,11] print(primes.contains(7)) // true — O(1) print(primes.contains(4)) // false ``` Проверка принадлежности за O(1) — главное преимущество Set перед O(n) у Array.

Добавление и удаление

```swift var colors: Set = ["red","green"] colors.insert("blue") // {"red","green","blue"} colors.remove("green") // {"red","blue"} let (inserted,_) = colors.insert("red") // inserted = false (already there) ```

Объединение

```swift let a: Set = [1,2,3] let b: Set = [3,4,5] print(a.union(b)) // {1,2,3,4,5} var c = a c.formUnion(b) // mutates c in-place ```

Пересечение

```swift let a: Set = [1,2,3,4] let b: Set = [3,4,5,6] print(a.intersection(b)) // {3,4} print(a.isDisjoint(with: [7,8])) // true — no common elements ```

Вычитание (разность)

```swift let all: Set = [1,2,3,4,5] let remove: Set = [2,4] let remaining = all.subtracting(remove) // {1,3,5} ```

Симметрическая разность

```swift let x: Set = [1,2,3] let y: Set = [2,3,4] print(x.symmetricDifference(y)) // {1,4} — elements in one but not both ```

Подмножество и надмножество

```swift let small: Set = [1,2] let large: Set = [1,2,3,4] print(small.isSubset(of: large)) // true print(large.isSuperset(of: small)) // true print(small == large) // false ```

Преобразование множества в массив и обратно

```swift let arr = [1,2,2,3,3,3] let unique = Set(arr) // {1,2,3} let back = Array(unique).sorted() // [1,2,3] ``` Распространённый шаблон: удаляйте дубликаты из массива, преобразуя его в Set и обратно.

Быстрая проверка

Какая операция над Set возвращает только элементы, присутствующие **в обоих** множествах?

Итоги

Основные выводы: • Множества хранят уникальные значения `Hashable` и обеспечивают проверку принадлежности за O(1) • `union`, `intersection`, `subtracting`, `symmetricDifference` • `isSubset`, `isSuperset`, `isDisjoint` • Удаление дубликатов из массивов: `Set(array)`, затем преобразование обратно в `Array` • Изменяемые варианты: `formUnion`, `formIntersection` и другие Далее: выбор подходящего типа коллекции.

Часто задаваемые вопросы

Урок «Операции над множествами: объединение, пересечение, разность» бесплатный?

Да — полный текст урока «Операции над множествами: объединение, пересечение, разность» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Swift Academy, подпишись на CoddyKit PRO. Курс Swift Academy содержит 4 уроков всего.

Чему я научусь в уроке «Операции над множествами: объединение, пересечение, разность»?

Эффективно выполняйте математические операции над множествами и проверяйте принадлежность элементов Ты практикуешь Swift Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Swift Academy?

Предыдущий опыт не требуется. Swift Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Операции над множествами: объединение, пересечение, разность»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Swift Academy?

Да. Каждый урок Swift Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Операции CRUD со словарями и доступ по подписке
  2. Итерация и преобразование словарей
  3. Операции над множествами: объединение, пересечение, разность
  4. Выбор между Array, Dictionary и Set
← Назад к Swift Academy