Swift Academy · Lektion

Zwischen Array, Dictionary und Set wählen

Verstehen Sie Leistungsmerkmale und den passenden Sammlungstyp für jedes Szenario.

Lektion 4 von 412 Schritte

Zwischen Array, Dictionary und Set wählen ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Swift Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.

Willkommen

Die drei integrierten Collections von Swift – Array, Dictionary und Set – haben jeweils eigene Stärken. Die Wahl des passenden Typs wirkt sich sowohl auf die Korrektheit als auch auf die Performance aus.

Array: Geordnete Sequenzen

Verwenden Sie `Array`, wenn: • die Reihenfolge wichtig ist • Sie einen zufälligen Zugriff per Index in `O(1)` benötigen • Duplikate erlaubt sind • Sie die Elemente nacheinander durchlaufen ```swift let steps = ["boil","add tea","steep","drink"] ```

Dictionary: Suche über Schlüssel-Wert-Paare

Verwenden Sie `Dictionary`, wenn: • Sie eine Suche in O(1) über einen eindeutigen Schlüssel benötigen • die Daten von Natur aus über Schlüssel organisiert sind (Benutzer-ID, Konfigurationsschlüssel) ```swift var userNames: [Int: String] = [42: "Alice", 7: "Bob"] print(userNames[42]!) // "Alice" ```

Set: Eindeutige Zugehörigkeit

Verwenden Sie `Set`, wenn: • Sie eine Zugehörigkeitsprüfung in O(1) benötigen • Duplikate ausgeschlossen werden müssen • die Reihenfolge keine Rolle spielt ```swift var visitedPages: Set = [] visitedPages.insert("/home") print(visitedPages.contains("/home")) // true ```

Zusammenfassung der Performance

| Operation | Array | Dictionary | Set | |-------------------|-------|------------|-------| | Append | O(1)* | O(1)* | O(1)* | | Index/Key access | O(1) | O(1)* | — | | Search | O(n) | O(1)* | O(1)* | | Insert middle | O(n) | O(1)* | O(1)* | *amortisierter Durchschnitt

Wann Array besser als Set ist

Bei kleinen Collections ist `Array` aufgrund des geringeren Overheads häufig besser geeignet als `Set`: ```swift // For 5 items, Array.contains is perfectly fast: let tags = ["swift","ios","mobile"] if tags.contains("swift") { ... } ``` Der feste Hashing-Overhead kann bei sehr kleinen Sets den größten Anteil ausmachen.

Muster für geordnete Dictionaries

Wenn Sie sowohl die Suche über Schlüssel als auch die Einfügereihenfolge benötigen: ```swift // Use an array of tuples or a struct: var ordered: [(key: String, value: Int)] = [] // Or Foundation's NSOrderedDictionary // Or maintain a [Key] array alongside a [Key:Value] dict ```

Muster für Multisets

Für gezählte Duplikate (Multiset) verwenden Sie `[T: Int]`: ```swift var frequency: [String: Int] = [:] for word in words { frequency[word, default: 0] += 1 } ```

Unveränderlichkeit: let und var

Alle drei Collections profitieren für Unveränderlichkeit von `let`: ```swift let config: [String: String] = ["env": "prod"] let primes: Set = [2,3,5,7,11] let steps: [String] = ["fetch","parse","display"] ``` Unveränderliche Collections verhindern versehentliche Änderungen und ermöglichen Optimierungen durch den Compiler.

Praktischer Entscheidungsbaum

Fragen Sie sich: 1. Benötige ich einen geordneten Zugriff nach Position? → Array 2. Benötige ich eine Suche über einen eindeutigen Schlüssel? → Dictionary 3. Benötige ich eine schnelle Zugehörigkeitsprüfung ohne Duplikate? → Set 4. Eine Kombination? → Collections zusammensetzen, z. B. `[Key: [Value]]` für gruppierte Daten

Kurzer Test

Welche Collection bietet im Durchschnitt eine Suche in O(1) über einen eindeutigen Schlüssel?

Zusammenfassung

Die wichtigsten Punkte: • Array – geordnet, indiziert, erlaubt Duplikate • Dictionary – Schlüssel-Wert-Paare, Suche in O(1) • Set – eindeutige Werte, Zugehörigkeitsprüfung in O(1) • Kleine Collections: Array ist wegen des Hashing-Overheads häufig besser als Set • Collections für komplexe Datenstrukturen zusammensetzen Kurs abgeschlossen! Als Nächstes: Entwurfsmuster für Structs.
Kostenlos starten

Lerne Swift mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
122
Lektionen
409

Häufig gestellte Fragen

Ist die Lektion „Zwischen Array, Dictionary und Set wählen“ kostenlos?

Ja — der vollständige Text von „Zwischen Array, Dictionary und Set wählen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Swift Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Zwischen Array, Dictionary und Set wählen“?

Verstehen Sie Leistungsmerkmale und den passenden Sammlungstyp für jedes Szenario. Du übst Swift Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Swift Academy zu starten?

Keine Vorkenntnisse erforderlich. Swift Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Zwischen Array, Dictionary und Set wählen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Swift Academy-Lektion Code schreiben und ausführen?

Ja. Jede Swift Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Dictionary-CRUD und Subscript-Zugriff
  2. Dictionaries durchlaufen und transformieren
  3. Set-Operationen: Vereinigung, Schnittmenge, Differenz
  4. Zwischen Array, Dictionary und Set wählen
← Zurück zu Swift Academy