Junior — Middle
Ce metode de implementare a interfeței Set sunt disponibile în Kotlin și în ce diferă?
sobes.tech AI
Răspuns de la AI
În Kotlin, interfața Set este implementată în mai multe moduri, care diferă în privința mutabilității și a implementării interne:
- Set — este o interfață pentru un set imutabil (doar citire). Oferă operații de citire, dar nu pentru modificare.
- MutableSet — extinde Set și adaugă metode pentru modificarea setului (adăugarea, eliminarea elementelor).
Implementări:
- HashSet — bazat pe o tabelă hash, asigură acces rapid și operații de adăugare/eliminare. Ordinea elementelor nu este garantată.
- LinkedHashSet — moștenește de la HashSet, păstrează ordinea de inserare a elementelor.
- SortedSet / TreeSet (prin Java) — set, ale cărui elemente sunt sortate după ordinea naturală sau după un comparator.
Exemplu:
val readOnlySet: Set<Int> = setOf(1, 2, 3)
val mutableSet: MutableSet<Int> = mutableSetOf(1, 2, 3)
mutableSet.add(4) // permis
// readOnlySet.add(4) // eroare de compilare
Prin urmare, alegerea implementării depinde de cerințele privind mutabilitatea și ordinea elementelor.