Sobes.tech
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()
    }
}