La différence dans HashMap et HashSet

Le langage de programmation Java a deux types de conteneurs de données encore similaires distinctes, la HashMap et HashSet. Les deux utilisent une table de hachage pour stocker des données. Une table de hachage est une table de valeurs qui utilise une fonction de hachage pour déterminer où chercher et stocker des données. Cela permet un accès rapide aux données parce qu'une valeur n'a pas à rechercher. Au lieu de cela, la fonction de hachage peut indiquer l'emplacement exact de la valeur. En dépit de ces deux tables de hachage en utilisant, HashMaps et HashSets sont très différents les uns des autres.

Cartes

Cartes stocker des données dans les relations clé-valeur. Une clé est dite être mis en correspondance avec une valeur. Un dictionnaire est un bon exemple d'un conteneur de données cartographiques. La clé est le mot que vous êtes à la recherche et la valeur est la définition. Toutes les données dans une carte doivent être stockées à l'aide d'une clé unique, mais il peut y avoir plusieurs, des valeurs identiques.

Sets

Un ensemble est une collection de données sans éléments en double. Par exemple, la séquence des chiffres de 0 à 9 est un ensemble, mais la séquence 0, 1, 1, 2, 3 ne sont pas puisque le chiffre 1 est répété. Un ensemble ne dispose pas d'une relation valeur-clé comme une carte. Il est tout simplement une collection de valeurs non dupliqués.

Performance

Le HashMap offre une performance constante de temps pour les méthodes "get" et "put", qui sont utilisés pour remplir la structure de données. signifie des performances en temps constant que, peu importe la taille de la structure de données devient, ces opérations seront toujours prendre la même quantité de temps à effectuer. Le HashSet offre une performance constante de temps pour les méthodes "de taille" "ajouter", "supprimer", "contient" et.

Caractéristiques optionnelles

Le HashMap fournit toutes les opérations de la classe Java Carte et HashSet fournit toutes les opérations de la classe Java Set. Ceci est parce que les deux HashMap et HashSet sont des implémentations des classes Java Carte et Set, respectivement.