Generische Algorithmen für Collections
Verwenden Sie generische Algorithmen wie map , filter und reduce zum Transformieren, Auswählen und Kombinieren und schreiben Sie eigene Funktionen für Sequence mit einfachen Einschränkungen.
Generische Algorithmen für Collections ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 3. 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 3 Lektionen.
Warum generische Algorithmen?
Swift stellt leistungsfähige generische Algorithmen für Sequence/Collection bereit: map, filter und reduce. Sie können auch eigene generische Hilfsfunktionen schreiben.
map
map wendet eine Transformation auf jedes Element an und gibt ein neues Array zurück.
let nums = [1, 2, 3]
let doubled = nums.map { $0 * 2 } // [2, 4, 6]
print(doubled)
let words = ["swift", "kit"]
let caps = words.map { $0.uppercased() } // ["SWIFT","KIT"]
print(caps)filter
filter behält die Elemente, die ein Prädikat erfüllen.
let scores = [45, 72, 88, 53]
let passing = scores.filter { $0 >= 60 } // [72, 88]
print(passing)
let names = ["Ana","Li","Max"]
let short = names.filter { $0.count <= 2 } // ["Li"]
print(short)reduce
reduce fasst eine Sequenz mithilfe eines Startwerts und einer Kombinations-Closure zu einem einzigen Ergebnis zusammen.
let sum = [1,2,3,4].reduce(0) { acc, x in acc + x } // 10
print(sum)
let joined = ["a","b","c"].reduce("") { acc, s in acc + s } // "abc"
print(joined)Eigener generischer Algorithmus (Sequence)
Erstellen Sie Ihren eigenen generischen Algorithmus, indem Sie die Eingabe auf Sequence beschränken und dessen Element verwenden.
// Works for any Sequence whose Element meets the predicate
func allMatch<S: Sequence>(_ seq: S, _ predicate: (S.Element) -> Bool) -> Bool {
for x in seq { if !predicate(x) { return false } }
return true
}
print(allMatch([2,4,6]) { $0 % 2 == 0 }) // true
print(allMatch(["ab","c"]) { $0.count >= 2 }) // falseTipps und Muster
Tipps:
- Bevorzugen Sie klare Closures: Benennen Sie Parameter, wenn die Lesbarkeit darunter leidet.
- Verketten Sie map → filter → reduce zu Pipelines.
- Halten Sie aufwendige Arbeit für eine bessere Leistung außerhalb häufig ausgeführter Schleifen.
Bedeutung von reduce
Kurzfrage: Welche Operation fasst eine Sequenz mit einem Startwert zu einem Wert zusammen?
Zusammenfassung
Zusammenfassung: Verwenden Sie map zum Transformieren, filter zum Auswählen und reduce zum Zusammenfassen. Sie können auch eigene generische Hilfsfunktionen für Sequence schreiben.
Häufig gestellte Fragen
Ist die Lektion „Generische Algorithmen für Collections“ kostenlos?
Ja — der vollständige Text von „Generische Algorithmen für Collections“ 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 3 Lektionen.
Was lerne ich in „Generische Algorithmen für Collections“?
Verwenden Sie generische Algorithmen wie map , filter und reduce zum Transformieren, Auswählen und Kombinieren und schreiben Sie eigene Funktionen für Sequence mit einfachen Einschränkungen. 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 3 von 3.
Wie lange dauert die Lektion „Generische Algorithmen für Collections“?
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
- Generische Funktionen und Typen
- Constraints (where), Typinferenz
- Generische Algorithmen für Collections