Android Academy · Lektion

Kotlin-samlinger

Arbejd med List, Set og Map. Brug funktionelle operatorer som filter, map, sortedBy, forEach, find, any og all, og kæd operationer sammen for korte datatransformationer.

Lektion 1 af 611 trin

Kotlin-samlinger er en gratis Android Academy-lektion på CoddyKit. Dette er lektion 1 af 6. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Android Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Android Academy-kurset indeholder 6 lektioner i alt.

Oversigt over samlinger

Kotlins standardbibliotek indeholder tre hovedtyper af samlinger:

  • Liste — ordnet sekvens af elementer (kan indeholde dubletter)
  • Mængde — entydige elementer uden en bestemt rækkefølge
  • Kort — nøgleværdi-par, hvor nøglerne er entydige

Hver type har en uforanderlig version (skrivebeskyttet) og en foranderlig version (kan ændres).

Lister: listOf kontra mutableListOf

Opret lister ved hjælp af fabrikfunktioner:

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øgleværdi-par

Brug mapOf og mutableMapOf til at oprette kort. Få adgang til værdier via nøglen:

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 — Vælg elementer

filter returnerer en ny liste, der kun indeholder elementer, som opfylder 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 — Transformér elementer

map transformerer 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

Sortér en liste efter en egenskab:

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 samlingsfunktioner:

  • forEach — gennemløber elementerne uden at opbygge et resultat
  • find — returnerer det første element, der opfylder en betingelse, eller null

Sammenkædning af operationer

Sammenkæd flere operationer for at transformere data på en kortfattet måde:

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

Aggregationsfunktioner til hurtige svar:

  • any { condition } — true, hvis mindst ét element matcher
  • all { condition } — true, hvis alle elementer matcher
  • count { condition } — antallet af matchende elementer
  • sumOf { it.price } — summen af en numerisk egenskab

Hurtigt tjek

Hvilken funktion vil du bruge til kun at hente de elementer i en liste, der opfylder en betingelse?

Opsummering: Kotlin-samlinger

Du kan nu arbejde effektivt med data i Kotlin:

  • listOf / mutableListOf, mapOf / mutableMapOf
  • filter — vælg matchende elementer
  • map — transformér elementer
  • sortedBy / sortedByDescending
  • Sammenkæd operationer for at skabe rene, læsbare datapipelines

Næste trin: Vis lister på skærmen med RecyclerView.

Gratis at komme i gang

Lær Kotlin med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
36
Lektioner
152

Ofte stillede spørgsmål

Er lektionen “Kotlin-samlinger” gratis?

Ja — alle 3 lektioner i læringssporet Android Academy, inklusive “Kotlin-samlinger”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Android Academy-kurset indeholder 6 lektioner i alt.

Hvad lærer jeg i “Kotlin-samlinger”?

Arbejd med List, Set og Map. Brug funktionelle operatorer som filter, map, sortedBy, forEach, find, any og all, og kæd operationer sammen for korte datatransformationer. Du øver dig i Android Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Android Academy?

Der kræves ingen tidligere erfaring. Android Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 6.

Hvor lang tid tager lektionen “Kotlin-samlinger”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Android Academy-lektion?

Ja. Alle Android Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Kotlin-samlinger
  2. Grundlæggende RecyclerView
  3. Klikhændelser i RecyclerView
  4. SharedPreferences
  5. DataStore Preferences
  6. Adaptere og DiffUtil
← Tilbage til Android Academy