Sobes.tech
Junior — Middle

Kako implementirati skladištenje elemenata u skupu sa podrškom za redosled njihovog sledanja?

sobes.tech АИ

Одговор од АИ

Za skladištenje elemenata u skupu sa očuvanim redosledom njihovog dodavanja u iOS (Swift), možete koristiti strukturu podataka koja kombinuje osobine skupa i niza. U standardnoj biblioteci Swift postoji tip OrderedSet, od iOS 13 i macOS 10.15, koji upravo to radi — čuva jedinstvene elemente i očuva njihov redosled.

Primer korišćenja OrderedSet:

import Foundation

var orderedSet = OrderedSet<String>()
orderedSet.append("apple")
orderedSet.append("banana")
orderedSet.append("apple") // neće biti dodat, jer element već postoji

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

Ako OrderedSet nije dostupan, možete implementirati sličnu funkcionalnost koristeći niz za redosled i skup za proveru jedinstvenosti:

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"]

Na ovaj način, čuvate redosled dodavanja i jedinstvenost elemenata.