Différence entre hashmap et map en Java
-
L’interface
Map
en Java -
La classe
HashMap
en Java -
Utiliser une référence
Map
pour contenir des objets en Java -
Utiliser une référence
Map
pour contenir des objets en Java
Ce tutoriel présente les principales différences entre Map
et HashMap
en Java.
En Java, Map
est une interface permettant de stocker des données en paire clé-valeur, alors que HashMap
est la classe d’implémentation de l’interface Map
. Java dispose de plusieurs classes (TreeHashMap
, LinkedHashMap
) qui implémentent l’interface Map
pour stocker les données dans une paire clé-valeur. Voyons quelques exemples.
L’interface Map
en Java
L’interface Map
seule ne peut pas être utilisée pour contenir des données, mais nous pouvons créer un objet de ses classes d’implémentation puis utiliser la référence Map
pour contenir l’objet. Ici, nous utilisons la classe HashMap
pour stocker les données et l’interface Map
pour contenir la référence de cette classe. Voir l’exemple ci-dessous.
import java.util.HashMap;
import java.util.Map;
public class SimpleTesting {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("One", 1);
map.put("Two", 2);
map.put("Three", 3);
System.out.println(map);
}
}
Production:
{One=1, Two=2, Three=3}
La classe HashMap
en Java
HashMap
est une classe d’implémentation de l’interface Map
. Nous pouvons donc l’utiliser pour créer une collection de paires clé-valeur. Voir l’exemple ci-dessous.
import java.util.HashMap;
public class SimpleTesting {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("One", 1);
map.put("Two", 2);
map.put("Three", 3);
System.out.println(map);
}
}
Production:
{One=1, Two=2, Three=3}
Utiliser une référence Map
pour contenir des objets en Java
Puisque Map
est une interface, nous pouvons l’utiliser pour contenir la référence de ses classes d’implémentation telles que HashMap
, TreeMap
, etc. Nous pouvons contenir un objet TreeMap
ou HashMap
dans l’interface Map
. Voir l’exemple ci-dessous.
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
public class SimpleTesting {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("One", 1);
map.put("Two", 2);
map.put("Three", 3);
System.out.println(map);
Map<String, Integer> tmap = new TreeMap<>(map);
System.out.println(tmap);
}
}
Production:
{One=1, Two=2, Three=3}
{One=1, Three=3, Two=2}
Utiliser une référence Map
pour contenir des objets en Java
C’est un exemple important d’utilisation de la référence Map
tout en travaillant avec ses classes d’implémentation. Vous voyez, nous avons une méthode qui prend un objet Map
comme argument. Ainsi, au moment de l’appel, nous pouvons passer l’objet de toutes les classes telles que HashMap
ou HashTable
. Voir l’exemple ci-dessous.
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.TreeMap;
public class SimpleTesting {
static void printMap(Map<String, Integer> map) {
for (String key : map.keySet()) {
System.out.println(key + ":" + map.get(key));
}
}
public static void main(String[] args) {
HashMap<String, Integer> hashmap = new HashMap<>();
hashmap.put("One", 1);
hashmap.put("Two", 2);
hashmap.put("Three", 3);
printMap(hashmap);
TreeMap<String, Integer> tmap = new TreeMap<>(hashmap);
printMap(tmap);
LinkedHashMap<String, Integer> lmap = new LinkedHashMap<>(hashmap);
printMap(lmap);
}
}
Exécutez le code comme ci-dessous.
Java SimpleTesting 10 20
Production:
10
20
Article connexe - Java Map
- Convertir les valeurs de map en une liste en Java
- Filtrage de map en Java
- Convertir une liste en map en Java
- Créer une carte ordonnée en Java
- Créer une Map en Java