Junior
Môžeš vysvetliť rozdiely medzi List, Set a Map a tiež kedy by sa mali používať?
sobes.tech AI
Odpoveď od AI
List - zoradená kolekcia, ktorá umožňuje duplikáty. Prvky sú dostupné podľa indexu.
Set - neusporiadaná kolekcia unikátnych prvkov. Nedovoľuje duplikáty.
Map - kolekcia dvojíc "kľúč-hodnota", kde je každý kľúč unikátny. Prvky sú dostupné podľa kľúča.
Porovnávacia tabuľka:
| Vlastnosť | List | Set | Map |
|---|---|---|---|
| Usporiadanie | Áno | Nie | Podľa poradia pridania (nie vždy) |
| Duplicity | Dovoľené | Nedovoľené | Kľúče sú unikátne, hodnoty môžu sa opakovať |
| Prístup | Podľa indexu | Cez iteráciu | Podľa kľúča |
- Použitie:
List: Keď je dôležité poradie prvkov a môžu byť duplikáty (napríklad, zoznam nákupov, história transakcií).Set: Keď potrebujete kolekciu unikátnych prvkov a poradie nie je dôležité (napríklad, množina unikátnych používateľov, zoznam unikátnych tagov).Map: Keď chcete uložiť údaje vo forme párov "kľúč-hodnota" a rýchlo získať hodnotu podľa kľúča (napríklad, slovník, nastavenia aplikácie).
Príklad:
// List
val shoppingList = listOf("jablko", "banán", "jablko")
println(shoppingList[0]) // jablko
// Set
val uniqueFruits = setOf("jablko", "banán", "jablko")
println(uniqueFruits.size) // 2 (jablko sa vyskytuje len raz)
// Map
val userAges = mapOf("Alica" to 30, "Boris" to 25)
println(userAges["Alica"]) // 30