Sobes.tech
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