1
resposta

Seria isso? Imprimir separadamente, idade e nomes?

    public class TesteMap {

            public static void main(String[] args) {

                Map<String, Integer> nomesParaIdade = new HashMap<>();
                nomesParaIdade.put("Paulo", 31);
                nomesParaIdade.put("Adriano", 25);
                nomesParaIdade.put("Alberto", 33);
                nomesParaIdade.put("Guilherme", 26);


                nomesParaIdade.keySet().forEach(idade->{
                    System.out.println(nomesParaIdade.get(idade));
                });


                nomesParaIdade.keySet().forEach(pessoa->{
                    System.out.println((pessoa));
                });



            }

    }

1 resposta

Olá Pedro, tudo bem com você?

Obrigado por compartilhar seu código conosco. Existem várias formas de se chegar a resolução de um exercício de programação e o que você propôs atende bem o que foi pedido na aula.

Fora isso, outra implementação válida neste exercício é imprimir a associação destes objetos, bem como chave e valor. Por exemplo:

Set<Entry<String, Integer>> associacoes = nomesParaIdade.entrySet();    
for (Entry<String, Integer> associacao : associacoes) {
    System.out.println(associacao.getKey() + " - " + associacao.getValue());
}

No código acima imprimimos os nomes e idades armazenados no map, onde é criado um conjunto de entradas a partir do mapa e iteramos sobre cada entrada por meio de um loop. Dentro do laço, imprimimos cada nome e idade usando as funções getKey() e getValue().

Outra forma mais direta e simplificada, é utilizar o método forEach como feito por você para percorrer nome e idade, porém, agora precisamos do nome e valor juntos. Nosso código ficará da seguinte forma:

nomesParaIdade.forEach((nome, idade) -> {
            System.out.println(nome + " - " + idade);
 });

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!