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.