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ó TypeValue
en 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_VALUE
elementos, vuelveInteger.MAX_VALUE
.'