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