Menu
Coddy logo textTech

Iterar com keySet()

Parte da seção Lógica e Fluxo do Journey de Java da Coddy — lição 17 de 59.

Iterando com keySet() significa que você obtém um conjunto de todas as chaves no HashMap e então usa o método get() para buscar os valores correspondentes. Isso é simples e funciona bem para mapas pequenos.

Primeiro, crie um HashMap de produtos:

HashMap<String, Integer> inventory = new HashMap<>();
inventory.put("Laptop", 10);
inventory.put("Mouse", 50);
inventory.put("Keyboard", 30);

Agora, itere usando keySet():

for (String product : inventory.keySet()) {
   int quantity = inventory.get(product);
   System.out.println("Product: " +
   product + ", Quantity: " + quantity);
}
// Product: Laptop, Quantity: 10
// Product: Mouse, Quantity: 50
// Product: Keyboard, Quantity: 30
challenge icon

Desafio

Fácil

Crie um método chamado <strong>printInventoryKeySet</strong> que aceita um HashMap (onde as chaves são nomes de produtos e os valores são quantidades) de uma string JSON lida via Scanner. Seu método deve iterar sobre o HashMap usando o método keySet() e imprimir cada par chave-valor no formato:

Product: <product name>, Quantity: <quantity>

Folha de consulta

Use keySet() para iterar sobre as chaves do HashMap e get() para obter os valores correspondentes:

HashMap<String, Integer> inventory = new HashMap<>();
inventory.put("Laptop", 10);
inventory.put("Mouse", 50);
inventory.put("Keyboard", 30);

for (String product : inventory.keySet()) {
   int quantity = inventory.get(product);
   System.out.println("Product: " + product + ", Quantity: " + quantity);
}

Experimente você mesmo

import java.util.HashMap;
import java.util.Scanner;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;

public class Main {
    public static void printInventoryKeySet(HashMap<String, Integer> inventory) {
        // Escreva seu código aqui usando keySet()
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // Leia a string JSON de entrada representando o HashMap do inventário
        String inventoryString = scanner.nextLine();

        // Converta a string JSON para HashMap<String, Integer>
        Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
        HashMap<String, Integer> inventory = new Gson().fromJson(inventoryString, mapType);

        printInventoryKeySet(inventory);
    }
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica e Fluxo