Sobes.tech
Junior — Middle

Aké spôsoby implementácie rozhrania Set sú dostupné v Kotlin a v čom sa líšia?

sobes.tech AI

Odpoveď od AI

V Kotlinu je rozhranie Set implementované rôznymi spôsobmi, ktoré sa líšia podľa mutability a vnútornej implementácie:

  • Set — je rozhranie pre nemenné množiny (len na čítanie). Poskytuje operácie na čítanie, ale nie na zmenu.
  • MutableSet — rozširuje Set a pridáva metódy na zmenu množiny (pridanie, odstránenie prvkov).

Implementácie:

  • HashSet — založené na hash tabuľke, zabezpečuje rýchly prístup a operácie pridania/odstránenia. Poradie prvkov nie je garantované.
  • LinkedHashSet — dedí z HashSet, zachováva poradie vkladania prvkov.
  • SortedSet / TreeSet (cez Java) — množina, ktorej prvky sú zoradené podľa prirodzeného poradia alebo podľa komparátora.

Príklad:

val readOnlySet: Set<Int> = setOf(1, 2, 3)
val mutableSet: MutableSet<Int> = mutableSetOf(1, 2, 3)

mutableSet.add(4) // povolené
// readOnlySet.add(4) // chyba kompilácie

Výber implementácie závisí od požiadaviek na mutabilitu a poradie prvkov.