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