keySet () retorna apenas um conjunto de chaves do seu mapa de hash, você deve iterar esse conjunto de chaves e obter o valor do mapa de hash usando essas chaves.
No seu exemplo, o tipo da chave do hashmap é TypeKey
, mas você especificou TypeValue
em seu loop for genérico, portanto não pode ser compilado. Você deve alterá-lo para:
for (TypeKey name: example.keySet()){
String key = name.toString();
String value = example.get(name).toString();
System.out.println(key + " " + value);
}
Atualização para Java8:
example.entrySet().forEach(entry->{
System.out.println(entry.getKey() + " " + entry.getValue());
});
Se você não precisar imprimir o valor da chave e precisar apenas do valor do hashmap, poderá usar as sugestões de outras pessoas.
Outra pergunta: essa coleção é zero base? Quero dizer, se tiver 1 chave e valor, o tamanho será 0 ou 1?
A coleção retornada keySet()
é um conjunto . Você não pode obter o valor de um conjunto usando um índice; portanto, não é uma questão de saber se é baseado em zero ou baseado em um. Se o seu hashmap tiver uma chave, o keySet () retornado terá uma entrada e seu tamanho será 1.
Map
dosize()
método : "Retorna o número de mapeamentos de valores-chave neste mapa. Se o mapa contiver mais do queInteger.MAX_VALUE
elementos, retornaráInteger.MAX_VALUE
."