Android Academy · leksjon

Kotlin-samlinger

Arbeid med List, Set og Map. Bruk funksjonelle operatorer som filter, map, sortedBy, forEach, find, any og all, og kjed operasjoner for konsise datatransformasjoner.

Leksjon 1 av 611 trinn

Kotlin-samlinger er en gratis leksjon i Android Academy på CoddyKit. Dette er leksjon 1 av 6. 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 Android Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Android Academy inneholder totalt 6 leksjoner.

Oversikt over samlinger

Kotlin-standardbiblioteket tilbyr tre hovedtyper samlinger:

  • List – ordnet sekvens med elementer (kan inneholde duplikater)
  • Set – unike elementer, uten en bestemt rekkefølge
  • Map – nøkkel-verdi-par, der nøklene er unike

Hver type har en uforanderlig versjon (skrivebeskyttet) og en foranderlig versjon (kan endres).

Lister: listOf kontra mutableListOf

Opprett lister ved hjelp av fabrikkfunksjoner:

fun main() {
    // Immutable — cannot add/remove items
    val fruits = listOf("Apple", "Banana", "Cherry")
    println(fruits[0])       // Apple
    println(fruits.size)     // 3

    // Mutable — can modify
    val scores = mutableListOf(10, 20, 30)
    scores.add(40)
    scores.removeAt(0)       // remove index 0
    println(scores)          // [20, 30, 40]
}

Map: Nøkkel-verdi-par

Bruk mapOf og mutableMapOf for å opprette map-er. Få tilgang til verdier ved hjelp av nøkkelen:

fun main() {
    val capitals = mapOf(
        "Turkey" to "Ankara",
        "Germany" to "Berlin",
        "Japan" to "Tokyo"
    )

    println(capitals["Turkey"])      // Ankara
    println(capitals["France"])      // null (not found)
    println(capitals.getOrDefault("France", "Unknown")) // Unknown

    // Iterate
    for ((country, city) in capitals) {
        println("$country -> $city")
    }
}

filter – velg elementer

filter returnerer en ny liste som bare inneholder elementer som oppfyller en betingelse:

fun main() {
    val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8)

    val evens = numbers.filter { it % 2 == 0 }
    println(evens)   // [2, 4, 6, 8]

    val names = listOf("Alice", "Bob", "Anna", "Charlie")
    val aNames = names.filter { it.startsWith("A") }
    println(aNames)  // [Alice, Anna]
}

map – transformer elementer

map transformer hvert element og returnerer en ny liste:

fun main() {
    val prices = listOf(10.0, 20.0, 30.0)

    // Apply 10% tax
    val withTax = prices.map { it * 1.1 }
    println(withTax)  // [11.0, 22.0, 33.0]

    val names = listOf("alice", "bob", "carol")
    val upper = names.map { it.uppercase() }
    println(upper)    // [ALICE, BOB, CAROL]
}

sortedBy og sortedByDescending

Sorter en liste etter en egenskap:

data class Student(val name: String, val grade: Int)

fun main() {
    val students = listOf(
        Student("Alice", 88),
        Student("Bob", 95),
        Student("Carol", 72)
    )

    val byGrade = students.sortedByDescending { it.grade }
    for (s in byGrade) println("${s.name}: ${s.grade}")
    // Bob: 95
    // Alice: 88
    // Carol: 72
}

forEach og find

To andre nyttige samlingsfunksjoner:

  • forEach – itererer uten å opprette et resultat
  • find – returnerer det første elementet som oppfyller en betingelse, eller null

Kjeding av operasjoner

Kjed flere operasjoner for å gjøre datatransformasjoner mer kompakte:

data class Product(val name: String, val price: Double, val inStock: Boolean)

fun main() {
    val products = listOf(
        Product("Laptop", 999.0, true),
        Product("Mouse", 29.0, false),
        Product("Keyboard", 79.0, true),
        Product("Monitor", 349.0, true)
    )

    // In-stock products under $500, sorted by price
    val result = products
        .filter { it.inStock && it.price < 500 }
        .sortedBy { it.price }
        .map { "${it.name}: ${it.price}" }

    result.forEach { println(it) }
}

any, all og count

Aggregatfunksjoner for raske svar:

  • any { condition } – true hvis minst ett element oppfyller betingelsen
  • all { condition } – true hvis alle elementene oppfyller betingelsen
  • count { condition } – antallet elementer som oppfyller betingelsen
  • sumOf { it.price } – summen av en numerisk egenskap

Hurtigsjekk

Hvilken funksjon vil De bruke for å hente bare elementene i en liste som oppfyller en betingelse?

Oppsummering: Kotlin-samlinger

De kan nå arbeide effektivt med data i Kotlin:

  • listOf / mutableListOf, mapOf / mutableMapOf
  • filter – velg elementer som oppfyller en betingelse
  • map – transformer elementer
  • sortedBy / sortedByDescending
  • Kjed operasjoner for å lage ryddige og lesbare datapipelines

Neste: Vis lister på skjermen med RecyclerView.

Gratis å komme i gang

Lær deg Kotlin 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
36
Leksjoner
152

Ofte stilte spørsmål

Er leksjonen «Kotlin-samlinger» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Android Academy, inkludert «Kotlin-samlinger», 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 Android Academy inneholder totalt 6 leksjoner.

Hva lærer jeg i «Kotlin-samlinger»?

Arbeid med List, Set og Map. Bruk funksjonelle operatorer som filter, map, sortedBy, forEach, find, any og all, og kjed operasjoner for konsise datatransformasjoner. Du øver på Android 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 Android Academy?

Ingen tidligere erfaring er nødvendig. Android 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 1 av 6.

Hvor lang tid tar leksjonen «Kotlin-samlinger»?

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 Android Academy-leksjonen?

Ja. Alle Android 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. Kotlin-samlinger
  2. Grunnleggende om RecyclerView
  3. Klikkhendelser i RecyclerView
  4. SharedPreferences
  5. DataStore Preferences
  6. Adaptere og DiffUtil
← Tilbake til Android Academy