Iterar con keySet()
Parte de la sección Lógica y Flujo del Journey de Java de Coddy — lección 17 de 59.
Iterando con keySet() significa que obtienes un conjunto de todas las claves en el HashMap y luego usas el get() método para obtener los valores correspondientes. Esto es simple y funciona bien para mapas pequeños.
Primero, crea un HashMap de productos:
HashMap<String, Integer> inventory = new HashMap<>();
inventory.put("Laptop", 10);
inventory.put("Mouse", 50);
inventory.put("Keyboard", 30);Ahora, itera 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: 30Desafío
FácilCrea un método llamado <strong>printInventoryKeySet</strong> que acepta un HashMap (donde las claves son nombres de productos y los valores son cantidades) a partir de una cadena JSON leída mediante Scanner. Tu método debe iterar sobre el HashMap usando el método keySet() e imprimir cada par clave-valor en el formato:
Product: <product name>, Quantity: <quantity>Hoja de referencia
Usa keySet() para iterar sobre las claves de HashMap y get() para obtener los valores correspondientes:
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);
}Pruébalo tú mismo
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) {
// Escribe tu código aquí usando keySet()
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Lee la entrada de cadena JSON que representa el HashMap de inventario
String inventoryString = scanner.nextLine();
// Convierte la cadena JSON a HashMap<String, Integer>
Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
HashMap<String, Integer> inventory = new Gson().fromJson(inventoryString, mapType);
printInventoryKeySet(inventory);
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y Flujo
1Arreglos Multidimensionales
Básicos de Arreglos 2DAccediendo a Elementos de Arreglos 2DBucles Anidados con Arreglos 2DResumen - Arreglos 2DSuma y Resta de MatricesArreglos IrregularesArreglos 3D y Más AlláPatrones Comunes de Arreglos 2DResumen - Todo Sobre Arreglos4HashSet Parte 1
¿Qué es un HashSet?Agregando un elementoEliminando un elementoComprobando si existe un elementoVacío y tamañoLimpiar y clonarResumen - HashSet7Manejo Básico de Errores
Básicos de Try-CatchBloque FinallyLanzamiento de ExcepcionesExcepciones Personalizadas2HashMap Parte 1
¿Qué es un HashMap?Declarar un HashMapAcceder a ValoresVerificar si una Clave ExisteModificar DiccionariosResumen - HashMap3HashMap Parte 2
Métodos de HashMapIterar con keySet()Iterar con entrySet()HashMap AnidadoResumen - Gestionar AlmacénResumen - Operaciones de HashMap6Flujo de Control Avanzado
Sentencias EtiquetadasExpresión SwitchCoincidencia de PatronesCláusulas de GuardiaResumen - Flujo de Control9Proyecto - Contador de Palabras Únicas
Entrada y Almacenamiento de TextoProcesamiento de Palabras