En primer lugar, te paso el link de la API de java donde están explicados todos sus objetos:
http://docs.oracle.com/javase/6/docs/api/index.html?java/%C3%BAtil/HashMap.html
El HashMap es uno de los objetos mas utilizados en java, implementa la interficie Map y no es mas que un conjunto de key-value.
En esto objeto puedes guardar cualquier tipo de objeto, asignándole una key, para, mas tarde, poder recuperar ese objeto mediante la key.
EL HashMap tiene un constructor sin parámetros new HashMap() y otros constructores con parámetro que, para un uso "normal", no los necesitas.
Tiene infinidad de usos, pero suele utilizarse para "agrupar" diferente información en un único objeto. Imaginate por ejemplo, que tienes que pasar en un solo objeto, los datos de una persona, como el numero de teléfono, el nombre y la dirección. La forma "correcta de hacer esto, seria creando un objeto Persona con estos atributos, pero si por algún motivo no puedes hacerlo, o no vale la pena hacerlo porque la información que vas a guardar no tiene sentido estar en un objeto, puedes usar un HashMap, como lo haríamos, pues de la siguiente forma:
//Creamos un map
HashMap map = new HashMap();
//Añadimos los valores
map.put("nombre", "Pepe");
map.put("telefono", 66666666);
map.put("direccion", "calle grande 1);
//recuperamos los valores
System.out.println(map.get("nombre").toString());
System.out.println(map.get("telefono").toString());
System.out.println(map.get("direccion").toString());