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