Junior — Middle
Quali sono le modalità di implementazione dell'interfaccia Set disponibili in Kotlin e in cosa si differenziano?
sobes.tech AI
Risposta dell'AI
In Kotlin, l'interfaccia Set è implementata in diversi modi, che differiscono per mutabilità e implementazione interna:
- Set — è un'interfaccia per un insieme immutabile (solo lettura). Fornisce operazioni di lettura, ma non di modifica.
- MutableSet — estende Set e aggiunge metodi per modificare l'insieme (aggiunta, rimozione di elementi).
Implementazioni:
- HashSet — basato su una tabella hash, garantisce accesso rapido e operazioni di aggiunta/rimozione. L'ordine degli elementi non è garantito.
- LinkedHashSet — eredita da HashSet, mantiene l'ordine di inserimento degli elementi.
- SortedSet / TreeSet (tramite Java) — insieme i cui elementi sono ordinati secondo l'ordine naturale o un comparatore.
Esempio:
val readOnlySet: Set<Int> = setOf(1, 2, 3)
val mutableSet: MutableSet<Int> = mutableSetOf(1, 2, 3)
mutableSet.add(4) // consentito
// readOnlySet.add(4) // errore di compilazione
Pertanto, la scelta dell'implementazione dipende dai requisiti di mutabilità e dall'ordine degli elementi.