Différence de clé: en informatique, une table de hachage ou une table de hachage fait référence à une structure de données liant des clés (noms) à des valeurs (attributs). En Java, il existe des différences importantes entre les deux: HashTable est synchronisé et HashMap n'est pas synchronisé. Un HashTable n'autorise pas les clés nulles. Cependant, un HashMap autorise une seule clé NULL et un nombre quelconque de valeurs NULL.
HashMap et hashTable sont des structures de données qui font partie de la collection Java. Ils utilisent des paires clé-valeur afin de stocker des objets. Les deux partagent certaines similitudes, par exemple en implémentant l'interface java.util.Map et en fonctionnant sur le principe de hachage. Cependant, lorsque nous les référons dans le contexte du langage de programmation Java, il existe de nombreuses différences entre les deux.
Une table de hachage est utilisée pour stocker et récupérer une valeur à l'aide d'une clé. Pour cela, la clé doit être unique. La table utilisée pour stocker les paires clé-valeur s'appelle une table de hachage. Une table de hachage est formée en utilisant un algorithme qui hache les clés. Cette fonction de hachage est utilisée pour attribuer des nombres aux données d'entrée, puis les données sont stockées sous la forme d'un index de tableau qui correspond au nombre calculé ou évalué.
Comparaison entre HashMap et HashTable:
HashMap | HashTable | |
Synchronisation | Il est non synchronisé | Il est synchronisé (thread-safe) |
Valeurs nulles | Il autorise les valeurs nulles comme clé et valeur | Il n'autorise pas les nulls |
Introduction en java | Java version 1.2 | Première version du kit de développement Java |
Performance | Comparativement mieux | Relativement pauvre |
Étend | Il étend la classe AbstractMap | Il étend la classe Dictionary qui est assez ancienne |
Itération des clés | Itérateur est utilisé pour itérer les clés | L'interface d'énumération est utilisée pour les clés itératives |
Applications | Mieux pour les applications non-threadées | Généralement, sans danger pour les applications multithread |
La sérialisation | Non sérialisé | Sérialisé |
Alternative | On peut utiliser hashMap simultané pour un environnement multi-thread | Aucune alternative de ce genre |