Sobes.tech
Junior — Middle

Aké ďalšie typy kolekcií, okrem polí, množín a slovníkov, sú v Swift?

sobes.tech AI

Odpoveď od AI

V Swift, okrem polí (Array), množín (Set) a slovníkov (Dictionary), existujú aj ďalšie typy kolekcií, ktoré môžete použiť na ukladanie a organizovanie údajov:

  • Range — predstavuje rozsah hodnôt, napríklad, 1...5.
  • OptionSet — štruktúra na prácu s množinou možností, implementovaná pomocou bitových masiek.
  • ContiguousArray — optimalizovaný poľ, ktorý ukladá prvky v súvislej oblasti pamäte.
  • ArraySlice — rez poľa, ktorý umožňuje pracovať s časťou poľa bez kopírovania.
  • UnsafeBufferPointer a UnsafeMutableBufferPointer — nízkoúrovňové ukazovatele na prácu s pamäťou, ktoré sa dajú použiť ako kolekcie.

Okrem toho môžete vytvárať vlastné kolekcie implementáciou protokolov ako Collection, Sequence a ďalších, čo umožňuje vytvárať štruktúry s chovaním kolekcií, napríklad frontu (Queue), zásobník (Stack) alebo prepojený zoznam (LinkedList).

Príklad vytvorenia jednoduchej fronty založenej na poli:

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()
    }
}