Avatar ·

Quelle est la différence entre HashMap et Hashtable en Java ?

Bonjour, collègues ! J'ai commencé à étudier le Java Collections Framework et je suis tombé sur deux classes similaires : HashMap et Hashtable. Toutes deux implémentent l'interface Map et stockent des paires clé-valeur. Mais j'ai remarqué que dans le code moderne, tout le monde utilise HashMap, tandis que Hashtable est considéré comme obsolète. J'ai écrit un exemple simple où les deux classes se comportent de la même manière : ```java import java.util.*; public class MapTest { public static void main(String[] args) { Map hashMap = new HashMap<>(); hashMap.put("key1", "value1"); hashMap.put(null, "nullValue"); System.out.println("HashMap: " + hashMap.get("key1")); Hashtable hashtable = new Hashtable<>(); hashtable.put("key1", "value1"); // hashtable.put(null, "nullValue"); // cela provoquera une NullPointerException System.out.println("Hashtable: " + hashtable.get("key1")); } } ``` Je vois que HashMap permet les clés null, contrairement à Hashtable. J'ai aussi entendu dire que