Back to questions
Junior — Middle
69
Какие еще типы коллекций, кроме массивов, множеств и словарей, присутствуют в Swift?
Answer from AI
sobes.tech AI
В Swift, помимо массивов (Array), множеств (Set) и словарей (Dictionary), существуют и другие типы коллекций, которые можно использовать для хранения и организации данных:
- Range — представляет собой диапазон значений, например,
1...5. - OptionSet — структура для работы с набором опций, реализованных через битовые маски.
- ContiguousArray — оптимизированный массив для хранения элементов в непрерывной области памяти.
- ArraySlice — срез массива, который позволяет работать с частью массива без копирования.
- UnsafeBufferPointer и UnsafeMutableBufferPointer — низкоуровневые указатели для работы с памятью, могут использоваться как коллекции.
Кроме того, можно создавать собственные коллекции, реализуя протоколы Collection, Sequence и другие, что позволяет создавать структуры с поведением коллекций, например, очередь (Queue), стек (Stack) или связанный список (LinkedList).
Пример создания простой очереди на базе массива:
struct Queue<T> {
private var elements: [T] = []
mutating func enqueue(_ value: T) {
elements.append(value)
}
mutating func dequeue() -> T? {
guard !elements.isEmpty else { return nil }
return elements.removeFirst()
}
}