Junior
Můžeš vysvětlit rozdíly mezi List, Set a Map a kdy je používat?
sobes.tech AI
Odpověď od AI
List - uspořádaná kolekce, která umožňuje duplicitní prvky. Prvky jsou dostupné podle indexu.
Set - neuspořádaná kolekce unikátních prvků. Nedovoluje duplicity.
Map - kolekce párů "klíč-hodnota", kde je každý klíč unikátní. Prvky jsou dostupné podle klíče.
Porovnávací tabulka:
| Vlastnost | List | Set | Map |
|---|---|---|---|
| Uspořádání | Ano | Ne | Podle pořadí přidání (ne vždy) |
| Duplicity | Dovoluje | Nedovoluje | Klíče jsou unikátní, hodnoty se mohou opakovat |
| Přístup | Podle indexu | Přes iteraci | Podle klíče |
- Použití:
List: Když je důležité pořadí prvků a mohou být duplicitní (například nákupní seznam, historie transakcí).Set: Když potřebujete kolekci unikátních prvků a pořadí není důležité (například množina unikátních uživatelů, seznam unikátních tagů).Map: Když chcete uložit data ve formě párů "klíč-hodnota" a rychle získat hodnotu podle klíče (například slovník, nastavení aplikace).
Pří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 se vyskytuje jen jednou)
// Map
val userAges = mapOf("Alice" to 30, "Bob" to 25)
println(userAges["Alice"]) // 30