Swift Academy · leksjon

Velge mellom array, ordbok og mengde

Forstå ytelsesegenskapene og velg riktig samlingstype for hvert scenario.

Leksjon 4 av 412 trinn

Velge mellom array, ordbok og mengde er en gratis leksjon i Swift Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Swift Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Swift Academy inneholder totalt 4 leksjoner.

Velkommen

Swifts tre innebygde samlinger – Array, Dictionary og Set – har hver sine styrker. Valget av riktig samling påvirker både korrekthet og ytelse.

Array: ordnede sekvenser

Bruk `Array` når: • Rekkefølgen er viktig • De trenger tilfeldig indekstilgang med `O(1)` • Duplikater er tillatt • De itererer sekvensielt ```swift let steps = ["boil","add tea","steep","drink"] ```

Dictionary: oppslag med nøkkel og verdi

Bruk `Dictionary` når: • De trenger oppslag med O(1) via en unik nøkkel • Dataene naturlig knyttes til nøkler (bruker-ID, konfigurasjonsnøkkel) ```swift var userNames: [Int: String] = [42: "Alice", 7: "Bob"] print(userNames[42]!) // "Alice" ```

Set: unikt medlemskap

Bruk `Set` når: • De trenger medlemskapstesting med O(1) • Duplikater må utelukkes • Rekkefølgen ikke spiller noen rolle ```swift var visitedPages: Set = [] visitedPages.insert("/home") print(visitedPages.contains("/home")) // true ```

Ytelsesoversikt

| Operasjon | Array | Dictionary | Set | |-------------------|-------|------------|-------| | Legge til sist | O(1)* | O(1)* | O(1)* | | Indeks-/nøkkeltilgang | O(1) | O(1)* | — | | Søke | O(n) | O(1)* | O(1)* | | Sette inn i midten | O(n) | O(1)* | O(1)* | *amortisert gjennomsnitt

Når Array er bedre enn Set

Små samlinger favoriserer ofte `Array` fremfor `Set` på grunn av lavere overhead: ```swift // For 5 items, Array.contains is perfectly fast: let tags = ["swift","ios","mobile"] if tags.contains("swift") { ... } ``` Den faste kostnaden ved hashing kan dominere for svært små mengder.

Mønster for ordnet Dictionary

Når De trenger både oppslag med nøkkel og innsettingsrekkefølge: ```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 ```

Mønster for multiset

For duplikater som skal telles (multiset), bruk `[T: Int]`: ```swift var frequency: [String: Int] = [:] for word in words { frequency[word, default: 0] += 1 } ```

Uforanderlighet: let kontra var

Alle de tre samlingstypene har fordel av `let` når De ønsker uforanderlighet: ```swift let config: [String: String] = ["env": "prod"] let primes: Set = [2,3,5,7,11] let steps: [String] = ["fetch","parse","display"] ``` Uforanderlige samlinger hindrer utilsiktede endringer og gjør det mulig for kompilatoren å optimalisere koden.

Praktisk beslutningstre

Spør: 1. Trenger jeg ordnet tilgang etter posisjon? → Array 2. Trenger jeg oppslag med en unik nøkkel? → Dictionary 3. Trenger jeg rask medlemskapstesting uten duplikater? → Set 4. En kombinasjon? → Kombiner samlinger, for eksempel `[Key: [Value]]` for grupperte data

Hurtigsjekk

Hvilken samling tilbyr oppslag med O(1) i gjennomsnitt via en unik nøkkel?

Oppsummering

Viktigste punkter: • Array – ordnet, indeksert og tillater duplikater • Dictionary – nøkkel-verdi-par med oppslag med O(1) • Set – unike verdier med medlemskapstesting med O(1) • Små samlinger: Array vinner ofte over Set på grunn av hashing-overhead • Kombiner samlinger for komplekse datastrukturer Kurset er fullført! Neste: designmønstre for strukturer.
Gratis å komme i gang

Lær deg Swift med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
122
Leksjoner
409

Ofte stilte spørsmål

Er leksjonen «Velge mellom array, ordbok og mengde» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Swift Academy, inkludert «Velge mellom array, ordbok og mengde», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Swift Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Velge mellom array, ordbok og mengde»?

Forstå ytelsesegenskapene og velg riktig samlingstype for hvert scenario. Du øver på Swift Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Swift Academy?

Ingen tidligere erfaring er nødvendig. Swift Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Velge mellom array, ordbok og mengde»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Swift Academy-leksjonen?

Ja. Alle Swift Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. CRUD for ordbøker og tilgang via subscript
  2. Iterering gjennom og transformering av ordbøker
  3. Mengdeoperasjoner: union, snitt og differanse
  4. Velge mellom array, ordbok og mengde
← Tilbake til Swift Academy