Чем коллекция как тип данных отличается от неделимых (простых) типов?

Ответ

Неделимый (простейший) тип (например, Int, Bool, String) представляет одно значение.

Коллекция – это составной тип, предназначенный для хранения и управления группой значений (элементов).

Основные отличия: Признак Простой тип (Int) Коллекция (Array<Int>)
Количество значений Одно Множество (0 или более)
Операции Арифметические, логические Итерация, добавление, фильтрация, отображение
Протоколы в Swift Equatable, Comparable Collection, Sequence

Пример:

// Простой тип – одно значение
let age: Int = 25

// Коллекция – группа значений
let ages: [Int] = [25, 30, 18] // Массив (Array)
let uniqueAges: Set<Int> = [25, 30, 25] // Множество (Set) -> [25, 30]
let personData: [String: Any] = ["age": 25, "name": "Alex"] // Словарь (Dictionary)

Коллекции в Swift (Array, Set, Dictionary, String) соответствуют протоколу Collection, который обеспечивает стандартный интерфейс для доступа по индексу и обхода элементов.

Ответ 18+ 🔞

Вот, слушай, смотри, тут такая хуйня, блядь. Типы, они, понимаешь, разные бывают.

Есть, сука, неделимый тип, примитивный, как этот... Int, Bool. Это как одинокий огурец в банке, блядь. Одно значение и всё, нихуя больше. Понял? Одинокая хуйня.

А есть, блядь, коллекция. Это уже не один огурец, а целая банка, ёпта! Предназначена для хранения и управления, блядь, группой значений. То есть не одной, а овердохуища значений, или вообще ни одной, если коллекция пустая, как твои карманы после зарплаты.

Основные отличия, смотри, не проеби:

Признак Простой тип (Int) Коллекция (Array<Int>)
Количество значений Одно, блядь, одно! Множество (хоть ноль, хоть дохуя)
Операции Сложить, умножить, сравнить — скукотища. А вот тут веселье: перебрать, добавить, отфильтровать, нахуярить новые — полный карнавал!
Протоколы в Swift Equatable, Comparable — сравнить можно. Collection, Sequence — вот это уже серьёзные пацаны, с ними можно по-разному работать.

Пример, чтобы вообще всё стало ясно, как божий день:

// Простой тип – одна, блядь, цифра. Всё.
let age: Int = 25

// Коллекция – это уже банда, группа, толпа!
let ages: [Int] = [25, 30, 18] // Массив (Array) — стоят по порядку, как в очереди за халявой.
let uniqueAges: Set<Int> = [25, 30, 25] // Множество (Set) -> [25, 30] — одинаковых не бывает, все уникальные пидоры.
let personData: [String: Any] = ["age": 25, "name": "Alex"] // Словарь (Dictionary) — всё по ключикам, как в гардеробе.

И все эти Array, Set, Dictionary (да даже String, если копнуть) — они все, сука, соответствуют протоколу Collection. Это как у них общий устав, блядь. Этот протокол даёт стандартный интерфейс: достать по индексу, пробежаться по всем — всё по феншую. Красота, ёпта!