Différence entre HashMap et TreeMap

Différence clé - HashMap vs TreeMap
 

En programmation, il existe divers mécanismes pour collecter des données. Collections est une méthode pour stocker des données. Les langages de programmation tels que Java utilisent Collections. C'est un cadre avec des classes et des interfaces pour stocker et manipuler un ensemble d'éléments de données. Dans un tableau normal, il y a un nombre fixe d'éléments à stocker. C'est une limitation des tableaux. Au lieu de cela, le programmeur peut utiliser des collections. Des opérations telles que l'insertion, la suppression, le tri et la recherche peuvent être effectuées à l'aide de collections. En Java, l'interface Map appartient aux collections. La carte est utilisée pour représenter les données dans les paires clé / valeur. Il n'y a que des clés uniques et chacune a une valeur correspondante. HashMap et TreeMap sont des classes qui implémentent l'interface Map. HashMap est une classe de collection basée sur une carte utilisée pour stocker des paires clé / valeur qui ne conservent pas un ordre spécifique dans les éléments de données. Un TreeMap est une classe de collection basée sur la carte utilisée pour stocker des paires clé / valeur qui conservent l'ordre croissant des éléments de données. le différence clé entre HashMap et TreeMap est que HashMap ne conserve pas un ordre spécifique dans les éléments de données, tandis que TreeMap conserve l'ordre croissant des éléments de données..

CONTENU

1. Vue d'ensemble et différence clé
2. Qu'est-ce que HashMap?
3. Qu'est-ce que TreeMap?
4. Similitudes entre HashMap et TreeMap
5. Comparaison côte à côte - HashMap vs TreeMap sous forme tabulaire
6. Résumé

Qu'est-ce que HashMap??

HashMap est une classe qui implémente l'interface de carte. Il étend la classe AbstractMap et implémente l'interface Map. Un HashMap contient la clé, les paires de valeur. Chaque élément est unique. Il est facile de trouver les éléments dans HashMap en utilisant la clé. Déclarer un HashMap est comme suit.

Classe publique HashMap étend AbstractMap implémente Map, Cloneable, Serializable

Le K fait référence à la clé tandis que V correspond à la valeur correspondant à cette clé spécifique. Chaque clé, paire de valeurs est une entrée de HashMap.

Figure 01: Interface de carte

Supposons un scénario comme suit pour comprendre HaspMap. Si le programmeur souhaite stocker un ensemble de noms d’étudiants et les numéros d’index correspondants, il peut utiliser HashMap. Les noms des étudiants sont utilisés pour trouver les numéros d'index. Par conséquent, les noms des étudiants sont les clés, les numéros d’index sont les valeurs.

Figure 02: Programme HashMap utilisant Java

Selon le programme ci-dessus, un objet de HashMap est créé. Ensuite, le programmeur peut ajouter des éléments en utilisant cet objet. Les valeurs peuvent être insérées à l'aide de la méthode put. Pour récupérer les valeurs, le programmeur doit utiliser la méthode get avec la clé. Lors de l’utilisation de studentList.get («150»); il affichera le nom correspondant à cet index, Ann. Si le programmeur veut obtenir toutes les valeurs, il peut alors utiliser Map.Entry pour imprimer toutes les clés et les valeurs. Lors de l'observation de la sortie, on peut constater que HashMap ne conserve pas un ordre spécifique. Il n’imprime pas les éléments dans l’ordre inséré. Les éléments sont imprimés dans un ordre aléatoire.

Qu'est-ce que TreeMap??

TreeMap est une classe en Java qui implémente l'interface Map. Semblable à HashMap, il est également utilisé pour stocker des paires clé / valeur mais dans l’ordre croissant. TreeMap implémente NavigableMap et NavigableMap extend SortedMap et SortedMap extend Map. Chaque élément est unique. Déclarer un TreeMap est comme suit.

Classe publique TreeMap étend AbstractMap implémente NavigableMap, Cloneable, Serializable

Le K fait référence à la clé tandis que V correspond à la valeur correspondant à cette clé spécifique. Chaque clé, paire de valeurs est une entrée de la TreeMap.

Figure 03: Programme TreeMap utilisant Java

Selon le programme ci-dessus, un objet de TreeMap est créé. Ensuite, le programmeur peut ajouter des éléments en utilisant cet objet. Les valeurs peuvent être insérées à l'aide de la méthode put. Pour récupérer les valeurs, le programmeur doit utiliser la méthode get avec la clé. Lors de l’utilisation de studentList.get («150»); il affichera le nom correspondant à cet index, Ann. Si le programmeur veut obtenir toutes les valeurs, il peut alors utiliser Map.Entry pour imprimer toutes les clés et les valeurs. Lors de l'observation de la sortie, on peut voir que TreeMap maintient un ordre spécifique. Les éléments sont imprimés en ordre croissant.

Quelles sont les similitudes entre HashMap et TreeMap?

  • HashMap et TreeMap implémentent tous les deux l'interface Map.
  • HashMap et TreeMap peuvent stocker et manipuler de nombreux éléments.
  • HashMap et TreeMap contiennent des paires clé / valeur.
  • HashMap et TreeMap peuvent avoir plusieurs valeurs nulles.
  • Il n'y a pas de limitation au nombre d'éléments pouvant être stockés dans HashMap et TreeMap..

Quelle est la différence entre HashMap et TreeMap?

HashMap vs TreeMap

HashMap est une classe de collection basée sur une carte utilisée pour stocker des paires clé / valeur qui ne conservent pas un ordre spécifique dans les éléments de données.. Un TreeMap est une classe de collection basée sur la carte utilisée pour stocker des paires clé / valeur et maintenir l'ordre croissant des éléments de données..
 Ordre
HashMap ne maintient pas la commande. La TreeMap maintient l'ordre croissant.
Clé nulle
HashMap peut contenir une clé null. Le TreeMap ne peut pas avoir une clé nulle.
 Performance
HashMap est plus rapide que TreeMap. TreeMap est plus lent que HashMap.

Résumé - HashMap vs TreeMap

Les langages de programmation tels que Java contiennent le cadre de la collection. Dans les tableaux, il peut y avoir un nombre fixe d'éléments. Par conséquent, la taille du tableau doit être initialisée au début. Dans les collections, le programmeur peut stocker de nombreux éléments selon les besoins. Il n'y a pas de montant spécifique à stocker. La carte est une interface appartenant au framework de collection. HashMap est une classe de collection basée sur une carte utilisée pour stocker des paires clé / valeur qui ne conservent pas un ordre spécifique dans les éléments de données. Un TreeMap est une classe de collection basée sur la carte utilisée pour stocker les paires clé / valeur et maintenir l'ordre croissant des éléments de données. Cet article traite de la différence entre HashMap et TreeMap qui implémente l'interface Map. La différence entre HashMap et TreeMap réside dans le fait que HashMap ne conserve pas un ordre spécifique dans les éléments de données, tandis que TreeMap maintient l'ordre croissant des éléments de données..

Référence:

1. “HashMap in Java - javatpoint.” Le point, Disponible ici
2. "TreeMap in Java - javatpoint."  Le point, Disponible ici

Courtoisie d'image:

1.'Java.util.Map hierarchy'By ramlmn - Son propre travail, (CC BY-SA 4.0) via Wikimedia Commons