Junior — Middle
Какви други типове колекции, освен масиви, множества и речници, съществуват в Swift?
sobes.tech AI
Отговор от 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()
}
}