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 fehltDas 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 guaranteedAufgabe
AnfängerLies eine einzelne Eingabezeile ein: eine durch Kommata getrennte Liste von Wörtern (möglicherweise mit Duplikaten).
Gib drei Zeilen aus:
- Die Anzahl der einzigartigen Wörter (verwende
Set) - Die einzigartigen Wörter alphabetisch sortiert, verbunden mit
, true, wenn die Eingabe das Wortswiftenthält, andernfallsfalse(verwendecontains)
Für die Eingabe swift,ruby,go,swift,go,rust lautet die Ausgabe:
4
go,ruby,rust,swift
trueSpickzettel
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 vorhandenErstellen Sie ein Set aus einem Array, um Duplikate zu entfernen:
let unique = Set([1, 2, 2, 3, 3, 3]) // 3 ElementeProbier es selbst
let words = readLine()!.components(separatedBy: ",")
// TODO: Duplikate via Set entfernen, Anzahl ausgeben, sortiert zusammenfügen, enthält "swift"
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Kontrollfluss
1Strings im Detail
Zählen und IndizesGroß-/Kleinschreibung und TrimmenSuchen in StringsTeilen und ZusammenfügenTeilstrings ersetzenWiederholung – Benutzernamen-Check4Mengen
Mengen erstellenVereinigung und SchnittmengeDifferenz und symmetrische DifferenzTeilmenge und ObermengeRückblick – Tag-Filter7Projekt - Habit Tracker
ProjektübersichtAls erledigt markieren2Bereiche & Schrittweiten
Geschlossen vs. halboffenSchrittweiteRange-MethodenRanges in SwitchRückblick – Kalender-Grid5Funktionen höherer Ordnung Teil 1
MapFilterReduceVerkettung von map, filter, reduceRückblick – Wortstatistiken