Junior — Middle
Jak implementovat ukládání prvků v množině s podporou jejich pořadí?
sobes.tech AI
Odpověď od AI
Pro ukládání prvků do množiny s zachováním pořadí jejich přidání v iOS (Swift) lze použít datovou strukturu, která kombinuje vlastnosti množiny a pole. V standardní knihovně Swift je od iOS 13 a macOS 10.15 dostupný typ OrderedSet, který přesně toto dělá — ukládá unikátní prvky a zachovává jejich pořadí.
Příklad použití OrderedSet:
import Foundation
var orderedSet = OrderedSet<String>()
orderedSet.append("apple")
orderedSet.append("banana")
orderedSet.append("apple") // nebude přidáno, protože prvek již existuje
print(orderedSet) // ["apple", "banana"]
Pokud OrderedSet není dostupný, lze podobné chování implementovat pomocí pole pro pořadí a množiny pro kontrolu unikátnosti:
var array: [String] = []
var set: Set<String> = []
func addElement(_ element: String) {
if !set.contains(element) {
set.insert(element)
array.append(element)
}
}
addElement("apple")
addElement("banana")
addElement("apple")
print(array) // ["apple", "banana"]
Tímto způsobem zachováváte pořadí přidání a unikátnost prvků.