Qu'est-ce qu'un Hashmap?
En informatique, une table de hachage ou une table de hachage est une forme de structuration de données de sorte que chaque donnée soit liée à un numéro ou à un symbole d'identification unique. Cela permet une récupération facile, en particulier à partir d'une grande base de données contenant des milliers d'entrées. La table de hachage n'est pas une partie spécifique du programme, elle fait plutôt référence à une forme d'organisation de données qui attribue à chaque élément, appelé clé, dans la base de données, une valeur correspondant à cet élément. La fonction de hachage est la partie du programme qui relie les clés à leurs valeurs.
Les annuaires téléphoniques sont un excellent exemple de hashmap. La manière dont l'annuaire est présenté représente la structure de la table de hachage. Il s'agit de relier différentes valeurs entre elles et de ne lier qu'une seule valeur à un autre terme ou numéro de téléphone correspondant. Les noms dans le répertoire sont les touches et les numéros de téléphone sont les valeurs qui leur sont associées. Chaque personne dans le livre se voit attribuer un numéro différent et aucune ne se ressemble.
Les boîtes postales servent également de métaphore pour le hashmap. Chaque personne a une clé pour une seule boîte. La boîte peut contenir plusieurs informations - factures, lettres, cartes postales - toutes destinées à la personne qui a la clé de la boîte. Lorsque la clé correcte est insérée ou associée à la boîte appropriée, elle s'ouvre pour afficher son contenu.
Hashmaps fonctionnant parfaitement relierait une clé à une "boîte" de mémoire dans une base de données. Malheureusement, un facteur appelé collision de hachage peut se produire, lorsque deux clés vont dans la même boîte. Cela se produit lorsqu'une grande quantité de données est entrée et qu'il n'y a pas assez de "boîtes" pour tout gérer.
Contrairement à un annuaire téléphonique ou à une boîte postale, hashmaps comprend un troisième élément, en plus de la clé et de la valeur ou de la boîte à laquelle elle correspond. Il comprend également une fonction de hachage. Une personne sait quelle boîte postale est la sienne, mais un ordinateur doit savoir quelle touche va à quelle boîte. La fonction de hachage examine la clé, la traduit en une série de chiffres ou de codes et la lie à la zone contenant le code correspondant. Le nom de la clé, tel que "Mary", n’y figure que pour faciliter son interprétation, tandis que le code lui-même est une chaîne de chiffres destinée à être lue par l’ordinateur.