keySet () solo devuelve un conjunto de claves de su hashmap, debe iterar este conjunto de claves y obtener el valor del hashmap utilizando estas claves.
En su ejemplo, el tipo de clave del hashmap es TypeKey, pero especificó TypeValueen su bucle for genérico, por lo que no se puede compilar. Debes cambiarlo a:
for (TypeKey name: example.keySet()){
String key = name.toString();
String value = example.get(name).toString();
System.out.println(key + " " + value);
}
Actualización para Java8:
example.entrySet().forEach(entry->{
System.out.println(entry.getKey() + " " + entry.getValue());
});
Si no necesita imprimir el valor de la clave y solo necesita el valor del hashmap, puede usar las sugerencias de otros.
Otra pregunta: ¿esta colección es de base cero? Quiero decir, si tiene 1 clave y valor, ¿tendrá un tamaño de 0 o 1?
La colección devuelta de keySet()es un conjunto . No puede obtener el valor de un conjunto utilizando un índice, por lo que no se trata de si está basado en cero o en uno. Si su hashmap tiene una clave, el keySet () devuelto tendrá una entrada adentro, y su tamaño será 1.
Map'ssize()método : ' Devuelve el número de asignaciones de valores clave en este mapa Si el mapa contiene másInteger.MAX_VALUEelementos, vuelveInteger.MAX_VALUE.'