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