Sobes.tech
Junior

Poți explica diferențele dintre List, Set și Map, precum și în ce situații ar trebui utilizate?

sobes.tech AI

Răspuns de la AI

List - o colecție ordonată care permite duplicate. Elementele sunt accesibile după index.

Set - o colecție neordonată de elemente unice. Nu permite duplicate.

Map - o colecție de perechi "cheie-valoare", unde fiecare cheie este unică. Elementele sunt accesibile după cheie.

Tabel comparativ:

Caracteristică List Set Map
Ordine Da Nu În ordinea adăugării (nu întotdeauna)
Duplicate Permite Nu permite Cheile sunt unice, valorile pot fi duplicate
Acces Prin index Prin iterație Prin cheie
  • Utilizare:
    • List: Când ordinea elementelor este importantă și pot exista duplicate (de exemplu, listă de cumpărături, istoric de tranzacții).
    • Set: Când ai nevoie de o colecție de elemente unice și ordinea nu contează (de exemplu, mulțime de utilizatori unici, listă de etichete unice).
    • Map: Când vrei să stochezi date în perechi "cheie-valoare" și să accesezi rapid o valoare după cheie (de exemplu, dicționar, setări ale aplicației).

Exemplu:

// List
val shoppingList = listOf("măr", "banană", "măr")
println(shoppingList[0]) // măr

// Set
val uniqueFruits = setOf("măr", "banană", "măr")
println(uniqueFruits.size) // 2 (mărul apare o singură dată)

// Map
val userAges = mapOf("Alice" to 30, "Bob" to 25)
println(userAges["Alice"]) // 30