soaresinfo
Você está chamando it.next() duas vezes no código.
ECO2004
Sim, uma para imprimir a chave e outra para imprimir o valor cuja chave eu referencio.
mauricioadl
quando vc usa o next e passa para o proximo laço fazendo com que ele pule para o segundo e acaba finalizando.
ECO2004
Como é que fica o laço, então?
entanglement
Mania de não usar variáveis temporárias. Seu problema deve ser resolvido como:
public static void execute(Map<Integer, String> map)
{
Iterator<Integer> it = map.keySet().iterator();
while(it.hasNext())
{
Integer current = it.next();
System.out.println(current +" : "+map.get(current));
}
}
Ou melhor, que é o jeito mais eficiente de tratar isso:
public static void execute(Map<Integer, String> map)
{
for (Map.Entry <Integer, String> entry : map.entrySet())
{
System.out.println(entry.getKey() + ":" + entry.getValue());
}
}
ECO2004
entanglement:
Mania de não usar variáveis temporárias. Seu problema deve ser resolvido como:
public static void execute(Map<Integer, String> map)
{
Iterator<Integer> it = map.keySet().iterator();
while(it.hasNext())
{
Integer current = it.next();
System.out.println(current +" : "+map.get(current));
}
}
Ou melhor, que é o jeito mais eficiente de tratar isso:
public static void execute(Map<Integer, String> map)
{
for (Map.Entry <Integer, String> entry : map.entrySet())
{
System.out.println(entry.getKey() + ":" + entry.getValue());
}
}
Obrigado…
Não entendo…o Map.Entry no meu código não estava sendo reconhecido!