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