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. Gleicher Elementtyp für jedes Mitglied, 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 Literalschreibweise obligatorisch, da ["a", "b"] für sich allein als ein Array abgeleitet werden würde.

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

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

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

let unique = Set([1, 2, 2, 3, 3, 3])
// 3 elements, exact order not guaranteed
challenge icon

Aufgabe

Anfänger

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

Gib drei Zeilen aus:

  1. Die Anzahl der einzigartigen Wörter (verwende Set)
  2. Die einzigartigen 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

Spickzettel

Set – ungeordnete Sammlung eindeutiger Werte. Typannotation erforderlich bei Verwendung der Array-Literal-Syntax:

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

Kernoperationen:

colors.insert("yellow")      // fügt Element hinzu
colors.contains("green")     // true
colors.remove("blue")        // gibt "blue" zurück oder nil, falls nicht vorhanden

Erstellen Sie ein Set aus einem Array, um Duplikate zu entfernen:

let unique = Set([1, 2, 2, 3, 3, 3]) // 3 Elemente

Probier es selbst

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

// TODO: Duplikate via Set entfernen, Anzahl ausgeben, sortiert zusammenfügen, enthält "swift"
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