Sobes.tech
Junior — Middle

Ako implementovať ukladanie prvkov v množine s podporou ich poradia?

sobes.tech AI

Odpoveď od AI

Na ukladanie prvkov do množiny s zachovaním poradia ich pridania v iOS (Swift) môžete použiť dátovú štruktúru, ktorá kombinuje vlastnosti množiny a poľa. V štandardnej knižnici Swift je od iOS 13 a macOS 10.15 dostupný typ OrderedSet, ktorý presne toto robí — uchováva jedinečné prvky a zachováva ich poradie.

Príklad použitia OrderedSet:

import Foundation

var orderedSet = OrderedSet<String>()
orderedSet.append("apple")
orderedSet.append("banana")
orderedSet.append("apple") // nebude pridané, pretože prvok už existuje

print(orderedSet) // ["apple", "banana"]

Ak OrderedSet nie je dostupný, môžete implementovať podobné správanie pomocou poľa pre poradie a množiny pre kontrolu jedinečnosti:

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 spôsobom zachovávate poradie pridania a jedinečnosť prvkov.