Java HashMap vs Hashtable: Quelle est la différence?



Cet article sur Java HashMap vs Hashtable vous donnera un bref aperçu de Java HashMap et Hashtable ainsi que des différences majeures entre ces deux

Au niveau d'entrée, l'un des plus fréquemment demandé concerne Java HashMap vs Hashtable. Vous devez donc être prêt à répondre à tout ce qui concerne HashMap ou Hashtable. Java utilise HashMap et Hashtable pour stocker des données sous la forme de clé et valeurs . Donc, cet article vous aidera à connaître les différences majeures entre ces deux.

J'aborderai les sujets dans l'ordre suivant:





Commençons!

Qu'est-ce que HashMap?

HashMap est une classe de collection basée sur une carte dans qui est utilisé pour stocker des données dans des paires clé et valeur. Il aide à implémenter l'interface Map en Java. C'est essentiellement une partie de depuis Java version 1.2 et fournit l'implémentation de base de l'interface Map en Java. Pour accéder à une valeur dans le HashMap, il faut connaître son Clé .



java comment créer un tableau d'objets

Il est appelé HashMap car il utilise une technique appelée Hashing . Le hachage est un processus de conversion d'un grand à un plus petit en gardant la valeur de la chaîne comme constante. La valeur compressée qui en résulte aide à l'indexation et à des recherches plus rapides.

HashMap dans Java-JavaHashMap vs Hashtable-Edureka

Qu'est-ce qu'une table de hachage?

Un Hashtable est un Structure de données qui est utilisé pour stocker des paires clés / valeurs. Dans une table de hachage, les données sont stockées dans un format de tableau, où chaque valeur de données a sa propre valeur d'index unique. Vous pouvez accéder aux données très rapidement si vous connaissez l'index des données souhaitées.



La classe Java Hashtable implémente une table de hachage, qui mappe les clés aux valeurs. Il hérite de la classe Dictionary et implémente l'interface Map.

qu'est-ce qu'un espace de noms en c ++

Déclaration Hashtable

public class Hashtable étend le dictionnaire implémente Map, Cloneable, Serializable

À: C'est le type de touches que par la carte.
V: C'est le type de valeurs mappées.

Maintenant que vous avez compris le fonctionnement de HashMap et Hashtable en Java, examinons les paramètres pour comprendre les différences entre HashMap et Hashtable.

Voyons maintenant les principales différences entre HashMap et Hashtable.

Java HashMap vs Hashtable

Paramètres HashMap Hashtable

Synchronisation

Non synchronisé, ce qui signifie qu'il n'est pas thread-safe et ne peut pas être partagé entre de nombreux threads sans un code de synchronisation approprié.Synchronisé et peut être partagé avec de nombreux threads

Clés nulles

Autorise une seule clé nulle et plusieurs valeurs nullesN'autorise pas la clé nulle ou sa valeur

Ancien système

Ceci fait partie des collections JavaHashtable est une classe héritée qui ne faisait pas partie de la classe initiale

Itérateur

passer par valeur et passer par référence en java
Iterator est rapide et lève une exception concurrentModificationException si un autre thread tente de modifier la carteL'énumérateur n'est pas rapide

Classe héritière

Hérite RésuméCarte classeHérite de la classe Dictionary

Maintenant, quand pouvez-vous utiliser Java HashMap et Hashtable?

Quand utiliser HashMap et Hashtable?

  • Synchronisation est la principale différence entre Java HashMap et Hashtable. Mais si une opération thread-safe est nécessaire, Hashtable peut être utilisé car toutes ses méthodes sont synchronisées. Mais, c'est une classe héritée et ils doivent être évités. Ce n'est pas possible par HashMap.
  • Pour un environnement multi-thread, vous pouvez utiliser ConcurrentHashMap qui est presque similaire à Hashtable. Ici, vous pouvez même synchroniser explicitement le HashMap
  • L'opération synchronisée entraîne des performances médiocres, elle doit donc être évitée tant que cela n'est pas nécessaire. Par conséquent, pour l'environnement sans thread, HashMap est définitivement utilisé sans aucun doute.

Cela nous amène à la fin de cet article où nous avons appris le différences entre Java HashMap et Hashtable. J'espère que vous êtes clair sur ce sujet.

Si vous avez trouvé cet article sur 'Java HashMap vs Hashtable' pertinent, consultez le une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier.

Le cours est conçu pour vous donner une longueur d'avance et vous former aux concepts Java de base et avancés ainsi que divers comme Hibernate & Spring.

Si vous rencontrez des questions, n'hésitez pas à poser toutes vos questions dans la section commentaires de «Java HashMap vs Hashtable» et notre équipe se fera un plaisir de vous répondre.