Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Método entry

Olá, boa tarde.

Estava estudando o exercício 7 e fazendo algumas tentativas e etc, e percebi que o método entry quando colocado dentro de um System.out.println retorna os elementos que estão dentro do map. Nesse exercício 7, por exemplo, se quando eu coloquei


```System.out.println(nomesParaIdade.entrySet());

o resultado foi : Insira aqui a descrição dessa imagem para ajudar na acessibilidade Gostaria de saber qual a diferença de colocar o Entry sozinho ou dentro de um for. Visivelmente eu pude perceber a diferença, pois quando usamos o for os elementos aparecem mais organizadinhos um embaixo do outro.. seria só isso mesmo ou tem alguma outra observação? A boa prática seria utilizar o for?

segue o código completo para melhor entendimento da situação:

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

         Collection<Integer> valores = nomesParaIdade.values();
        for (Integer idade : valores) {
            System.out.println(idade);
        }

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

        System.out.println(nomesParaIdade.entrySet());

O ultimo sysout foi eu que coloquei para efeito de teste e foi ai que surgiu a dúvida.

Então é isso, desde já agradeço!!!

2 respostas
solução!

Dentro do for cada item do array é tratado/processado de forma individualizada. Desta forma é possível realizar operações com cada item de forma individual.

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

Mas, no exemplo abaixo o array é apenas exibido sem nenhuma espécie de tratamento.

System.out.println(nomesParaIdade.entrySet()); // EXIBIÇÃO DO ARRAY SEM PROCESSAMENTO DOS ITENS

Entendido! Obrigada, Gabriel!