Menu
Coddy logo textTech

Mengen erstellen

Teil des Abschnitts Logik & Kontrollfluss der Swift-Journey von Coddy. Lektion 18 von 56.

Ein Set ist eine ungeordnete Sammlung von eindeutigen Werten. Der gleiche Elementtyp für jedes Mitglied, keine Duplikate erlaubt, keine vorhersagbare Iterationsreihenfolge.

var colors: Set<String> = ["red", "green", "blue", "red"]
print(colors.count)              // 3 (das Duplikat "red" wird verworfen)

Die Typannotation Set<String> ist in der Literalform zwingend erforderlich, da ["a", "b"] für sich allein als Array inferiert werden würde.

Drei Kernoperationen: contains, insert und remove. Die letzten beiden liefern Informationen darüber, ob die Änderung bedeutsam war.

colors.insert("yellow")         // fügt es hinzu
colors.insert("red")            // bereits vorhanden, keine Wirkung
colors.contains("green")        // true
colors.remove("blue")           // gibt "blue" zurück oder nil, falls fehlend

Das Erstellen eines Sets aus einem Array entfernt Duplikate in einem Schritt:

let unique = Set([1, 2, 2, 3, 3, 3])
// 3 Elemente, genaue Reihenfolge nicht garantiert
challenge icon

Aufgabe

Anfänger

Lies eine einzelne Eingabezeile ein: eine durch Kommas getrennte Liste von Wörtern (möglicherweise mit Duplikaten).

Gib drei Zeilen aus:

  1. Die Anzahl der eindeutigen Wörter (verwende Set)
  2. Die eindeutigen Wörter alphabetisch sortiert, zusammengefügt mit ,
  3. true, wenn die Eingabe das Wort swift enthält, andernfalls false (verwende contains)

Für die Eingabe swift,ruby,go,swift,go,rust lautet die Ausgabe:

4
go,ruby,rust,swift
true

Probier es selbst

let words = readLine()!.components(separatedBy: ",")

// TODO: dedupe via Set, Anzahl ausgeben, sortiert verbunden, enthält den exakten Text aus den Anweisungen
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Kontrollfluss

Übe selbstständig: Swift-Playground