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