Sobes.tech
Junior

Qu'est-ce qu'un Set en Java?

sobes.tech IA

Réponse de l'IA

Set en Java est une collection d'éléments uniques qui ne garantit pas l'ordre de stockage.

Caractéristiques principales :

  • Unicité : Ne peut pas contenir de doublons. Si vous essayez d'ajouter un élément existant, l'opération sera ignorée (selon l'implémentation).
  • Absence d'indexation : Les éléments ne sont pas accessibles par index.
  • Interface : Fait partie du Java Collections Framework et étend l'interface Collection.

Implémentations les plus courantes :

  • HashSet : L'implémentation la plus rapide, basée sur une table de hachage. Ne garantit pas l'ordre des éléments.
  • LinkedHashSet : Maintient l'ordre d'insertion des éléments, en utilisant une liste chaînée en plus de la table de hachage.
  • TreeSet : Stocke les éléments dans un ordre trié (naturel ou selon un comparateur défini), basé sur un arbre rouge-noir.

Exemple d'utilisation de HashSet :

// Création de HashSet
Set<String> nomsUniques = new HashSet<>();

// Ajout d'éléments
nomsUniques.add("Alice");
nomsUniques.add("Bob");
nomsUniques.add("Alice"); // Cet élément sera ignoré
nomsUniques.add("Charlie");

// Vérification de la présence d'un élément
boolean contientBob = nomsUniques.contains("Bob"); // true

// Itération sur les éléments (l'ordre n'est pas garanti)
for (String nom : nomsUniques) {
    System.out.println(nom);
}

// Taille du Set
int taille = nomsUniques.size(); // 3