Android Academy · Les

Maps en sets

Collecties met sleutel-waardeparen en unieke waarden.

Les 2 van 413 stappen

Maps en sets is een gratis Android Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Android Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Android Academy bevat in totaal 4 lessen.

Kaarten en verzamelingen

Een kaart slaat sleutel-waardeparen op: elke unieke sleutel verwijst naar een waarde, net als in een woordenboek.

Een verzameling slaat unieke items op, zonder duplicaten en zonder gegarandeerde volgorde.

Beide zijn verzamelingstypen naast lijsten en zijn handig wanneer je opzoekingen of uniciteit nodig hebt.

Een kaart maken

Gebruik mapOf() met paren in de vorm key to value om een alleen-lezen-kaart te maken.

Sleutels moeten uniek zijn. Hier koppelen we fruitnamen aan prijzen.

fun main() {
    val prices = mapOf("apple" to 3, "banana" to 2)
    println(prices)
    println("Size: ${prices.size}")
}

Waarden opzoeken

Lees een waarde met vierkante haken en een sleutel. Als de sleutel ontbreekt, krijg je null.

Gebruik de Elvis-operator ?: om een standaardwaarde op te geven wanneer een sleutel ontbreekt.

fun main() {
    val prices = mapOf("apple" to 3, "banana" to 2)
    println(prices["apple"])
    println(prices["cherry"] ?: "not found")
}

Door een kaart itereren

Een for-lus over een kaart levert elk item op. Je kunt dit uitpakken in key en value.

Dit is de gebruikelijke manier om elk paar te verwerken.

fun main() {
    val ages = mapOf("Ada" to 36, "Bob" to 24)
    for ((name, age) in ages) {
        println("$name is $age")
    }
}

Mutabele kaarten

Gebruik mutableMapOf() wanneer je items moet toevoegen of wijzigen.

Toewijzen aan een nieuwe sleutel voegt deze in; toewijzen aan een bestaande sleutel vervangt de bijbehorende waarde.

fun main() {
    val stock = mutableMapOf("pens" to 5)
    stock["books"] = 10
    stock["pens"] = 8
    println(stock)
}

Items uit een kaart verwijderen

Roep remove() aan met een sleutel om dat item uit een mutabele kaart te verwijderen.

Gebruik containsKey() om te controleren of een sleutel bestaat voordat je erop vertrouwt.

fun main() {
    val m = mutableMapOf("a" to 1, "b" to 2)
    m.remove("a")
    println(m.containsKey("a"))
    println(m)
}

Sleutels en waarden

Elke kaart stelt de verzamelingen keys en values beschikbaar.

Gebruik deze wanneer je maar één kant van de paren nodig hebt.

fun main() {
    val prices = mapOf("apple" to 3, "banana" to 2)
    println(prices.keys)
    println(prices.values)
}

Een verzameling maken

Gebruik setOf() om een alleen-lezen-verzameling te maken. Dubbele waarden worden automatisch verwijderd.

Daarom zijn verzamelingen ideaal om unieke items te verzamelen.

fun main() {
    val tags = setOf("kotlin", "android", "kotlin")
    println(tags)
    println("Size: ${tags.size}")
}

Lidmaatschapscontroles

Sets zijn uitstekend voor snelle lidmaatschapscontroles. Gebruik in of contains() om te testen of een waarde aanwezig is.

Een set controleren is meestal sneller dan een lijst doorlopen.

fun main() {
    val allowed = setOf("admin", "editor")
    println("admin" in allowed)
    println(allowed.contains("guest"))
}

Aanpasbare sets en dubbele waarden verwijderen

Gebruik mutableSetOf() om in de loop van de tijd een set op te bouwen. Een bestaande waarde toevoegen doet niets.

Een handige truc: roep toSet() aan op een lijst om dubbele waarden te verwijderen.

fun main() {
    val nums = listOf(1, 2, 2, 3, 3, 3)
    val unique = nums.toSet()
    println(unique)
}

Map versus set

Gebruik een map wanneer je sleutels aan waarden wilt koppelen, zoals een gebruikersnaam aan een profiel.

Gebruik een set wanneer het je alleen gaat om de vraag of iets bestaat en dubbele waarden niet zijn toegestaan.

Korte controle

Test je begrip van maps en sets.

Samenvatting

Maps slaan sleutel-waardeparen op met mapOf() / mutableMapOf(); zoek waarden op met een sleutel en handel ontbrekende sleutels af met ?:.

Sets slaan unieke items op met setOf() / mutableSetOf() en bieden snelle lidmaatschapscontroles.

Gratis beginnen

Leer Kotlin met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
36
Lessen
152

Veelgestelde vragen

Is de les “Maps en sets” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Android Academy, waaronder “Maps en sets”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Android Academy bevat in totaal 4 lessen.

Wat leer ik in “Maps en sets”?

Collecties met sleutel-waardeparen en unieke waarden. Je oefent met Android Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Android Academy te beginnen?

Ervaring vooraf is niet nodig. Android Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “Maps en sets”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Android Academy?

Ja. Elke les over Android Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Lijsten en mutable lijsten
  2. Maps en sets
  3. map, filter, forEach
  4. Lambdas en functies van hogere orde
← Terug naar Android Academy