Le langage de programmation Java a deux types de conteneur de données distinctes mais similaires, la HashMap et le HashSet . Les deux utilisent une table de hachage pour stocker les données . Une table de hachage est un tableau 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 que la valeur ne doit pas être recherché. Au lieu de cela , la fonction de hachage peut fournir l'emplacement exact de la valeur . Malgré les deux à l'aide de tables de hachage , HashMap et HashSet sont très différents les uns des autres . Cartes
Cartes de stocker des données dans une relation clé-valeur . Une clé est dit être mappé sur une valeur . Un dictionnaire est un bon exemple d'un conteneur de données de la carte. La clé est le mot que vous recherchez et la valeur est la définition . Toutes les données de la carte doivent être stockées à l'aide d'une clé unique , mais il peut y avoir plusieurs , des valeurs identiques .
Sets
Un jeu est un ensemble de données sans dupliquer des éléments . Par exemple , la séquence de chiffres de 0 à 9 est un ensemble , mais la séquence 0, 1, 1 , 2, 3 n'est pas car le chiffre 1 est répété. Une série ne comporte pas une relation de clé - valeur comme une carte. Il s'agit simplement d' un ensemble de valeurs non - double.
Performance
HashMap offre une performance constante de temps pour le "get" et "put" méthodes , qui sont utilisées pour remplir la structure de données . Signifie performance constante de temps que peu importe la taille de la structure de données devient , ces opérations prendront toujours le même laps de temps à réaliser. Le HashSet offre une performance constante de temps pour le "ajouter ", " supprimer ", " contient " et les méthodes " de taille " .
Option Caractéristiques
HashMap fournit tous des opérations de la classe Carte Java et le HashSet fournit toutes les opérations de la classe Set Java. C'est parce que les deux HashMap et HashSet sont mises en œuvre du Plan Java et définir des classes , respectivement .