Avatar ·

¿Cuál es la diferencia entre HashMap y Hashtable en Java?

¡Hola, colegas! Empecé a estudiar Java Collections Framework y me topé con dos clases similares: HashMap y Hashtable. Ambas parecen implementar la interfaz Map y almacenan pares clave-valor. Pero noté que en el código moderno todos usan HashMap, mientras que Hashtable se considera obsoleto. Escribí un ejemplo simple donde ambas clases se comportan igual: ```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"); // esto lanzará NullPointerException System.out.println("Hashtable: " + hashtable.get("key1")); } } ``` Veo que HashMap permite claves null, mientras que Hashtable no. También escuché que