Sobes.tech
Junior — Middle

Come implementare la memorizzazione degli elementi in un insieme con supporto all'ordine di sequenza?

sobes.tech AI

Risposta dell'AI

Per memorizzare elementi in un insieme mantenendo l’ordine di inserimento in iOS (Swift), si può usare una struttura dati che combina le proprietà di un insieme e di un array. Nella libreria standard di Swift, esiste un tipo chiamato OrderedSet, disponibile a partire da iOS 13 e macOS 10.15, che fa esattamente questo — memorizza elementi unici e ne conserva l’ordine.

Esempio di utilizzo di OrderedSet:

import Foundation

var orderedSet = OrderedSet<String>()
orderedSet.append("apple")
orderedSet.append("banana")
orderedSet.append("apple") // non verrà aggiunto, poiché l’elemento esiste già

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

Se OrderedSet non è disponibile, si può implementare un comportamento simile usando un array per l’ordine e un insieme per verificare l’unicità:

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

In questo modo, si mantiene l’ordine di inserimento e l’unicità degli elementi.