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.