Sobes.tech
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.