Sobes.tech
Junior — Middle

Quelles sont les méthodes de mise en œuvre de l'interface Set disponibles en Kotlin et en quoi diffèrent-elles?

sobes.tech IA

Réponse de l'IA

En Kotlin, l'interface Set est implémentée de plusieurs manières, qui diffèrent par la mutabilité et l'implémentation interne:

  • Set — c'est une interface pour un ensemble immutable (en lecture seule). Elle fournit des opérations de lecture, mais pas de modification.
  • MutableSet — étend Set et ajoute des méthodes pour modifier l'ensemble (ajouter, supprimer des éléments).

Implémentations:

  • HashSet — basé sur une table de hachage, offre un accès rapide et des opérations d'ajout/suppression. L'ordre des éléments n'est pas garanti.
  • LinkedHashSet — héritier de HashSet, conserve l'ordre d'insertion des éléments.
  • SortedSet / TreeSet (via Java) — ensemble dont les éléments sont triés selon l'ordre naturel ou un comparateur.

Exemple:

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

mutableSet.add(4) // autorisé
// readOnlySet.add(4) // erreur de compilation

Ainsi, le choix de l'implémentation dépend des exigences en matière de mutabilité et d'ordre des éléments.