Avatar ·

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

¡Hola a todos! Acabo de empezar a aprender Java Collections Framework y me confundí con dos clases similares: HashMap y Hashtable. Ambas implementan la interfaz Map y, al parecer, hacen lo mismo: almacenan pares clave-valor. Pero he oído que hay diferencias importantes entre ellas, y que Hashtable se considera obsoleto. Escribí un pequeño código de prueba, pero no veo la diferencia: ```java import java.util.*; public class TestMap { public static void main(String[] args) { // HashMap Map hashMap = new HashMap<>(); hashMap.put("key1", "value1"); hashMap.put(null, "nullValue"); // funciona System.out.println("HashMap: " + hashMap); // Hashtable Map hashtable = new Hashtable<>(); hashtable.put("key1", "value1"); // hashtable.put(null, "nullValue"); // lanza NullPointerException? System.out.println("Hashtable: " + hashtable); } } ``` ¿Por qué Hashtable no permite usar