Différence entre hashtable et hashmap en Java
-
HashtablevsHashMap -
Créer
Hashtableen Java -
Créer
HashMapen Java -
Stocker null dans
HashMapen Java -
Stocker null dans
Hashtableen 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