Junior — Middle
Wie implementiert man die Speicherung von Elementen in einer Menge mit Unterstützung für deren Reihenfolge?
sobes.tech KI
Antwort von AI
Um Elemente in einer Menge mit Beibehaltung der Reihenfolge ihrer Hinzufügung in iOS (Swift) zu speichern, kann man eine Datenstruktur verwenden, die Eigenschaften von Menge und Array kombiniert. In der Standardbibliothek von Swift gibt es den Typ OrderedSet, der ab iOS 13 und macOS 10.15 verfügbar ist und genau das tut — er speichert eindeutige Elemente und bewahrt deren Reihenfolge.
Beispiel für die Verwendung von OrderedSet:
import Foundation
var orderedSet = OrderedSet<String>()
orderedSet.append("apple")
orderedSet.append("banana")
orderedSet.append("apple") // wird nicht hinzugefügt, da das Element bereits existiert
print(orderedSet) // ["apple", "banana"]
Wenn OrderedSet nicht verfügbar ist, kann man ein ähnliches Verhalten implementieren, indem man ein Array für die Reihenfolge und eine Menge für die Überprüfung der Einzigartigkeit verwendet:
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"]
Auf diese Weise bewahren Sie die Reihenfolge der Hinzufügung und die Einzigartigkeit der Elemente.