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 eindeutiger Werte. Für jedes Mitglied derselbe Elementtyp, keine Duplikate erlaubt, keine vorhersehbare 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 Literaldarstellung erforderlich, da ["a", "b"] allein als Array abgeleitet würde.

Drei grundlegende Operationen: contains, insert und remove. Die letzten beiden geben Informationen darüber zurück, ob die Änderung von Bedeutung war.

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

Das Erstellen einer Menge 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: 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, verbunden 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: deduplizieren 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