¿Cómo funciona el mapa hash en Java?