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. S'il existe un tableau 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 modifier la taille du tableau une fois qu'il est déclaré. Les langages de programmation tels que Java prennent en charge les collections qui sont utilisées pour stocker des 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 de la collection. L'interface de base est l'interface Collection. Set est une interface qui étend l'interface Collection. Il n'autorise pas la duplication. TreeSet et HashSet sont deux classes dans la hiérarchie Collection et implémentent tous deux l'interface Set. TreeSet est une classe qui implémente l'interface Set et est utilisée pour stocker des éléments uniques dans l'ordre croissant. HashSet est une classe qui implémente l'interface Set et est utilisée pour 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 l'ordre croissant tandis que le HashSet ne stocke pas les éléments dans l'ordre croissant. TreeSet et HashSet ne stockent que des éléments uniques.
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 l'ordre hiérarchique. TreeSet maintient toujours l'ordre croissant. Si les éléments ont été insérés dans l'ordre B, A, C, ils seront stockés comme 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. Ce sont 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 d'insertion des donné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 y a deux lettres A et deux lettres D, la sortie affiche chacune un A et un D. 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 peut voir que le TreeSet maintient 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 l'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 peuvent être stockées sous la forme C, A, B. L'ordre de stockage peut également être A, B, C, mais il n'y a aucune garantie que l'ordre inséré ou l'ordre croissant soit 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 d'insertion des donné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. Même s'il y a deux lettres L, R et M de chacun, une seule lettre de chacun est affichée. Par conséquent, le HashSet stocke des éléments uniques. En observant la sortie, on peut voir qu'il n'y a 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 contre HashSet |
|
TreeSet est une classe dans la hiérarchie des collections qui est utilisée pour stocker des éléments uniques dans l'ordre croissant. | HashSet est une classe dans la hiérarchie des collections 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 dynamiquement les éléments de données. Les langages de programmation tels que Java prennent en charge les collections pour accomplir cette tâche. Il existe un certain nombre d'interfaces et de classes dans la hiérarchie de la collection. Le TreeSet et le HashSet sont deux classes dans la hiérarchie Collection. Les deux implémentent l'interface Set. TreeSet est une classe qui implémente l'interface Set et est utilisée pour stocker des éléments uniques dans l'ordre croissant. HashSet est une classe qui implémente l'interface Set et est utilisée pour 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 l'ordre croissant alors que HashSet ne stocke pas les éléments dans l'ordre croissant. Cet article traite de la différence entre TreeSet et HashSet.