Junior — Middle
Existe-t-il une structure de données implémentée qui combine les propriétés d'une table de hachage et l'ordre des éléments?
sobes.tech IA
Réponse de l'IA
Oui, une telle structure de données existe. En Java et Android, il s'agit de la classe LinkedHashSet, qui combine les propriétés d'une table de hachage et maintient l'ordre d'insertion des éléments.
LinkedHashSet stocke les éléments de manière unique (comme HashSet) tout en conservant l'ordre d'ajout, ce qui permet d'itérer sur les éléments dans le même ordre.
Exemple d'utilisation de LinkedHashSet:
LinkedHashSet<String> linkedSet = new LinkedHashSet<>();
linkedSet.add("one");
linkedSet.add("two");
linkedSet.add("three");
for (String s : linkedSet) {
System.out.println(s); // Affichera: one, two, three
}
Si une tri par ordre naturel est nécessaire, on peut utiliser TreeSet, mais il n'est pas basé sur une table de hachage.