Junior
Puoi spiegare le differenze tra List, Set e Map e quando usarle?
sobes.tech AI
Risposta dell'AI
List - una collezione ordinata che consente duplicati. Gli elementi sono accessibili tramite indice.
Set - una collezione non ordinata di elementi unici. Non consente duplicati.
Map - una collezione di coppie "chiave-valore", dove ogni chiave è unica. Gli elementi sono accessibili tramite chiave.
Tabella di confronto:
| Caratteristica | List | Set | Map |
|---|---|---|---|
| Ordinamento | Sì | No | In ordine di inserimento (non sempre) |
| Duplicati | Permette | Non permette | Le chiavi sono uniche, i valori possono duplicarsi |
| Accesso | Per indice | Per iterazione | Per chiave |
- Uso:
List: Quando l'ordine degli elementi è importante e possono esserci duplicati (ad esempio, lista della spesa, storico delle transazioni).Set: Quando si necessita di una collezione di elementi unici e l'ordine non importa (ad esempio, insieme di utenti unici, lista di tag unici).Map: Quando si desidera memorizzare dati in coppie "chiave-valore" e accedere rapidamente a un valore tramite chiave (ad esempio, dizionario, impostazioni dell'app).
Esempio:
// List
val shoppingList = listOf("mela", "banana", "mela")
println(shoppingList[0]) // mela
// Set
val uniqueFruits = setOf("mela", "banana", "mela")
println(uniqueFruits.size) // 2 (mela appare solo una volta)
// Map
val userAges = mapOf("Alice" to 30, "Bob" to 25)
println(userAges["Alice"]) // 30