Sets in Swift

Nach dem Array und dem Dictionary folgt nun der dritte collection type: Set. Es handelt sich dabei um eine nicht geordnete Sammlung von Elementen. Jedes Element kann dabei nur einmal vorkommen. Ein mit dem Schlüsselwort let deklariertes Set ist nicht veränderbar (immutable), mit var deklariert ist es veränderbar (mutable).

Collection Types in Swift

Ein leeres Set kann folgendermaßen angelegt werden:

var myCharacterSet: Set<Character> = Set()

oder kürzer mithilfe der Initialisierer-Syntax:

var myCharacterSet = Set<Character>()

Um mehrere Werte auf einmal hinzuzufügen, kann ein array literal genutzt werden, wobei in diesem Beispiel nur String-Werte verwendet werden dürfen.

var germanTowns: Set<String> = ["Munich", "Berlin", "Flensburg"]

Das Swift in der Lage ist, den Datentyp zu ermitteln (type inference), funktioniert auch folgender Code:

var germanTowns: Set = ["Munich", "Berlin", "Flensburg"]

Über die count-Eigenschaft wird die Anzahl der im Set vorhandenen Elemente ermittelt:

print("Im Set sind \(germanTowns.count) Städte vorhanden.")

Und ob überhaupt ein Element vorhanden ist, lässt sich mit der isEmpty-Eigenschaft überprüfen:

if germanTowns.isEmpty {
    print("Es sind keine Städte vorhanden.")
} else {
    print(germanTowns)
}

Ob ein bestimmtes Element in einem Set enthalten ist, wird über die Methode contains() festgestellt:

if germanTowns.contains("Magdeburg") {
    print("Die Stadt 'Magdeburg' ist im Set enthalten.")
} else {
    print("Die Stadt 'Magdeburg' ist nicht im Set enthalten.")
}

Eine Iteration kann mit der for-in-Schleife durchgeführt werden:

for town in germanTowns {
    print(town)
}

Durch Benutzung dieser Website erklären Sie sich mit der Verwendung von Cookies einverstanden. Mehr Informationen

Die Verwendung von Cookies dient dazu, Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf diese Website zu analysieren. Außerdem werden Informationen zur Nutzung dieser Webseite an Partner für soziale Medien, Werbung und Analysen weitergegeben.

Schließen