Différence entre hashtable et hashmap en Java
-
Hashtable
vsHashMap
-
Créer
Hashtable
en Java -
Créer
HashMap
en Java -
Stocker null dans
HashMap
en Java -
Stocker null dans
Hashtable
en Java
Ce tutoriel présente les différences entre Hashtable
et HashMap
en Java liste également quelques exemples de codes pour comprendre le sujet.
Hashtable est une classe dans le framework de collections Java qui est utilisée pour stocker des données dans des paires clé-valeur. C’est une classe héritée en Java et fonctionne sur le concept de hachage pour stocker des éléments. Dans les dernières versions de Java, Hashtable n’est pas recommandé. Nous devrions plutôt utiliser HashMap qui est plus avancé que Hashtable. Consultez le tableau ci-dessous qui résume les principales différences entre Hashtable et HashMap en Java.
Hashtable
vs HashMap
Hashtable |
HashMap |
---|---|
Synchronisé | Non synchronisé |
Null non autorisé | Permettre null |
Classe héritée | Pas hérité |
C’est lent | C’est rapide |
Dans le tableau de comparaison ci-dessus, nous pouvons clairement voir les principales différences entre Hashtable et HashMap. Voyons maintenant quelques exemples.
Comme Hashtable
est synchronisé en interne, cela rend Hashtable
légèrement plus lent que le HashMap
.
Créer Hashtable
en Java
Dans cet exemple, nous créons Hashtable. C’est le moyen le plus simple de créer Hashtable, et nous avons juste besoin d’importer Hashtable dans notre code. Cette classe se trouve dans le package java.util
. Voir l’exemple ci-dessous.
import java.util.Hashtable;
public class SimpleTesting {
public static void main(String[] args) {
Hashtable<Integer, String> hashTable = new Hashtable<>();
hashTable.put(1, "One");
hashTable.put(2, "Two");
hashTable.put(3, "Three");
System.out.println(hashTable);
}
}
Production:
{3=Three, 2=Two, 1=One}
Créer HashMap
en Java
Dans cet exemple, nous créons HashMap
en Java. C’est le moyen le plus simple de créer HashMap, et nous avons juste besoin d’importer HashMap dans notre code. Cette classe se trouve dans le package java.util
. Voir l’exemple ci-dessous.
import java.util.HashMap;
public class SimpleTesting {
public static void main(String[] args) {
HashMap<Integer, String> hashTable = new HashMap<>();
hashTable.put(1, "One");
hashTable.put(2, "Two");
hashTable.put(3, "Three");
System.out.println(hashTable);
}
}
Production:
{3=Three, 2=Two, 1=One}
Stocker null dans HashMap
en Java
Le HashMap
permet de stocker null, ce qui signifie que nous pouvons stocker une clé nulle et plusieurs valeurs nulles dans le HashMap
. Cette classe est utile lorsque vous avez null dans vos collections. Voir l’exemple ci-dessous.
import java.util.HashMap;
public class SimpleTesting {
public static void main(String[] args) {
HashMap<Integer, String> hashTable = new HashMap<>();
hashTable.put(1, "One");
hashTable.put(2, "Two");
hashTable.put(3, "Three");
hashTable.put(null, "Four");
hashTable.put(null, null);
System.out.println(hashTable);
}
}
Production:
{null=null, 1=One, 2=Two, 3=Three}
Stocker null dans Hashtable
en Java
La Hashtable
ne permet pas le stockage de null, ce qui signifie que nous ne pouvons pas stocker de null dans la Hashtable
. Cette classe n’est pas utile lorsque vous avez null dans vos collections. Voir l’exemple ci-dessous.
Il lève une exception NullPointerException
si une valeur nulle est stockée.
import java.util.Hashtable;
public class SimpleTesting {
public static void main(String[] args) {
Hashtable<Integer, String> hashTable = new Hashtable<>();
hashTable.put(1, "One");
hashTable.put(2, "Two");
hashTable.put(3, "Three");
hashTable.put(null, "Four");
hashTable.put(null, null);
System.out.println(hashTable);
}
}
Production:
Exception in thread "main" java.lang.NullPointerException