Sobes.tech
Junior

Kun je de verschillen tussen List, Set en Map uitleggen, en in welke gevallen ze gebruikt moeten worden?

sobes.tech AI

Antwoord van AI

List - een geordende collectie die duplicaten toestaat. Elementen zijn toegankelijk via index.

Set - een ongeordende collectie van unieke elementen. Duplicaten worden niet toegestaan.

Map - een collectie van "sleutel-waarde" paren, waarbij elke sleutel uniek is. Elementen zijn toegankelijk via sleutel.

Vergelijkingstabel:

Kenmerk List Set Map
Ordening Ja Nee In volgorde van toevoegen (niet altijd)
Duplicaten Toegestaan Niet toegestaan Sleutels zijn uniek, waarden kunnen herhaald worden
Toegang Via index Via iteratie Via sleutel
  • Gebruik:
    • List: Wanneer de volgorde van elementen belangrijk is en duplicaten toegestaan zijn (bijvoorbeeld boodschappenlijst, transactiegeschiedenis).
    • Set: Wanneer je een collectie van unieke elementen nodig hebt en de volgorde niet belangrijk is (bijvoorbeeld, set van unieke gebruikers, lijst van unieke tags).
    • Map: Wanneer je gegevens wilt opslaan in paren "sleutel-waarde" en snel toegang wilt tot een waarde via een sleutel (bijvoorbeeld, woordenboek, app-instellingen).

Voorbeeld:

// List
val shoppingList = listOf("appel", "banaan", "appel")
println(shoppingList[0]) // appel

// Set
val uniqueFruits = setOf("appel", "banaan", "appel")
println(uniqueFruits.size) // 2 (appel komt maar één keer voor)

// Map
val userAges = mapOf("Alice" to 30, "Bob" to 25)
println(userAges["Alice"]) // 30