Différence entre TreeSet et HashSet

Différence clé - TreeSet vs HashSet
 

La plupart des langages de programmation prennent en charge les tableaux. C'est une structure de données utilisée pour stocker plusieurs éléments du même type de données. Si un tableau est déclaré pour six éléments, il ne peut pas être utilisé pour stocker dix éléments. Par conséquent, les tableaux ne sont pas dynamiques et ne peuvent pas changer la taille du tableau une fois qu'il est déclaré. Les langages de programmation tels que Java prennent en charge les collections utilisées pour stocker les données de manière dynamique. Les collections prennent en charge des opérations telles que l’ajout d’éléments et la suppression d’éléments. Il existe un certain nombre d'interfaces et de classes dans la hiérarchie des collections. L'interface de base est l'interface Collection. Set est une interface qui étend l’interface Collection. Il ne permet pas la duplication. TreeSet et HashSet sont deux classes de la hiérarchie Collection et implémentent l'interface Set. TreeSet est une classe qui implémente l'interface Set et sert à stocker des éléments uniques dans un ordre croissant. HashSet est une classe qui implémente l'interface Set et sert à stocker des éléments uniques à l'aide du mécanisme de hachage. le différence clé entre TreeSet et HashSet est que TreeSet stocke les éléments dans un ordre croissant alors que le HashSet ne stocke pas les éléments dans un ordre croissant. TreeSet et HashSet ne stockent que des éléments uniques.

CONTENU

1. Vue d'ensemble et différence clé
2. Qu'est-ce qu'un TreeSet?
3. Qu'est-ce qu'un HashSet?
4. Similarités entre TreeSet et HashSet
5. Comparaison côte à côte - TreeSet vs HashSet sous forme tabulaire
6. Résumé

Qu'est-ce qu'un TreeSet??

La classe TreeSet implémente l'interface NavigableSet. L’interface NavigableSet étend les interfaces SortedSet, Set, Collection et Iterable dans un ordre hiérarchique. TreeSet conserve toujours l'ordre croissant. Si les éléments ont été insérés dans l'ordre B, A, C, ils seront stockés sous A, B, C. Les méthodes telles que add (), remove () peuvent être utilisées avec l'objet TreeSet. La méthode add peut être utilisée pour ajouter un élément. La méthode remove est utilisée pour supprimer un élément de la collection. Voici quelques méthodes qui peuvent être utilisées avec TreeSet.

Figure 01: Programme avec TreeSet

Selon le programme ci-dessus, un objet de type TreeSet est créé. Les éléments de données de chaîne sont ajoutés à cet objet à l'aide de la méthode add. L'ordre des données insérées est A, D, A, B, C, D. À l'aide de l'itérateur, les valeurs stockées sont imprimées à l'écran. La sortie est A, B, C, D. Même s’il existe deux lettres A et deux lettres D, la sortie affiche les lettres A et D de chaque. Par conséquent, le TreeSet stocke des éléments uniques. Il n'y a pas d'ordre d'insertion particulier, mais en observant la sortie, on voit que le TreeSet conserve l'ordre croissant des éléments.

Qu'est-ce qu'un HashSet??

La classe HashSet étend la classe AbstractSet qui implémente Set Interface. L'interface Set hérite des interfaces Collection et Iterable dans un ordre hiérarchique. Dans HashSet, rien ne garantit que les éléments conserveront l'ordre croissant et l'ordre inséré. Si l'ordre inséré était A, B, C, les valeurs pourraient être stockées comme C, A, B. L'enregistrement de l'ordre peut également être A, B, C, mais rien ne garantit que l'ordre inséré ou l'ordre croissant est maintenu..

Figure 02: Programme avec HashSet

Selon le programme ci-dessus, un objet de type HashSet est créé. Les éléments de données de chaîne sont ajoutés à cet objet à l'aide de la méthode add. L'ordre des données insérées est L, R, M, M, R, L. À l'aide de l'itérateur, les valeurs stockées sont imprimées à l'écran. La sortie est R L M. Bien qu'il y ait deux lettres L, R et M de chaque lettre, une seule lettre de chaque lettre est affichée. Par conséquent, le HashSet stocke des éléments uniques. En observant la sortie, on peut constater qu’il n’ya pas d’ordre croissant ou que l’ordre inséré est maintenu.

Quelles sont les similitudes entre TreeSet et HashSet?

  • TreeSet et HashSet sont des classes appartenant à la hiérarchie des collections.
  • TreeSet et HashSet ne stockent que des éléments uniques.
  • TreeSet et HashSet peuvent être utilisés pour stocker et manipuler de nombreux éléments.
  • TreeSet et HashSet ne conservent pas l'ordre inséré.

Quelle est la différence entre TreeSet et HashSet?

TreeSet vs HashSet

TreeSet est une classe de la hiérarchie des collections utilisée pour stocker des éléments uniques par ordre croissant.. HashSet est une classe de la hiérarchie de collection utilisée pour stocker des éléments uniques à l'aide du mécanisme de hachage..
 Stockage d'éléments
TreeSet stocke les éléments dans l'ordre croissant. HashSet ne stocke pas les éléments dans l'ordre croissant.

Résumé - TreeSet vs HashSet

En programmation, il est nécessaire de stocker les éléments de données de manière dynamique. Les langages de programmation tels que Java prennent en charge les collections pour réaliser cette tâche. Il existe un certain nombre d'interfaces et de classes dans la hiérarchie des collections. TreeSet et HashSet sont deux classes de la hiérarchie Collection. Les deux implémentent l'interface Set. TreeSet est une classe qui implémente l'interface Set et sert à stocker des éléments uniques dans un ordre croissant. HashSet est une classe qui implémente l'interface Set et sert à stocker des éléments uniques à l'aide du mécanisme de hachage. La différence entre TreeSet et HashSet est que TreeSet stocke les éléments dans un ordre croissant alors que HashSet ne stocke pas les éléments dans un ordre croissant. Cet article a traité de la différence entre TreeSet et HashSet.

Référence:

1. "TreeSet in Java - javatpoint." JavaPoint. Disponible ici
2. “HashSet in Java - javatpoint.” JavaPoint  Disponible ici