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

Dúvida sobre o formap

Boa tarde pessoa, todos bem? Visualizando os métodos para um Map, observei que tem o for que a IDE já monta para os maps. Minha dúvida é se eu entendi certo que esse formap que o eclipse monta dá para ser usado alternativamente para a resolução do exercício.

Na IDE montou dessa forma para tentar ajudar:

    for (Map.Entry<keyType, valType> entry : map.entrySet()) {
        keyType key = entry.getKey();
        valType val = entry.getValue();

Porém não consegui fazer funcionar, tentei realizar algumas substituições, sem sucesso.

2 respostas
solução!

Boa noite Gustavo, tudo bem?

Seria interessante colocar seu codigo completo para analsiarmos melhor porem voi deixar abaixo algumas opções de iterar sobre mapas.

Map<Integer, String> nomes = new HashMap<>();

        nomes.put(1, "Fernando");
        nomes.put(2, "Bolacha");
        nomes.put(3, "Minhoca");
        nomes.put(4, "Gabriel");
        nomes.put(5, "Caminhao");

        // Percorrendo mapa com "foreach" (chaves)
        for (Integer key : nomes.keySet()) {
            System.out.println("Chave: " + key);
        }

        // Percorrendo mapa com "foreach" (valores)
        for (String value : nomes.values()) {
            System.out.println("Valor: " + value);
        }

        // Percorrendo mapa com "foreach" (chave-valor)
        for (Map.Entry<Integer, String> entry : nomes.entrySet()) {
            System.out.println("Chave: " + entry.getKey() + ", Valor: " + entry.getValue());
        }

        // Percorrendo mapa com "foreach" (expressão lambda, chaves)
        nomes.keySet().forEach(key -> System.out.println("Chave: " + key));

        // Percorrendo mapa com "foreach" (expressão lambda, valores)
        nomes.values().forEach(value -> System.out.println("Valor: " + value));

        // Percorrendo mapa com "foreach" (expressão lambda, chave-valor)
        nomes.forEach((key, value) -> System.out.println("Chave: " + key + ", Valor: " + value));

Deixei opções com "enhanced for" e com "expressoes lambda", iterando pelas chaves, valores e pelas <chaves, valores>.

Abraço!

Boa noite Fernando, muito obrigado pela resposta. A parte do: "Percorrendo mapa com "foreach" (chave-valor)" já tirou minha dúvida.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software