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)
}