Resumen - HashMap
Parte de la sección Lógica y Flujo del Journey de Java de Coddy — lección 15 de 59.
Desafío
FácilCrea un método llamado processHashMap que tome un HashMap<String, Integer> y un array de operaciones String, luego realice las siguientes acciones:
1. Operación GET
- Formato:
"GET key" - Acción:
- Si la clave existe: Imprime el valor
- Si la clave no existe: Imprime
"Not found"
2. Operación CHECK
- Formato:
"CHECK key" - Acción:
- Si la clave existe: Imprime
"Exists" - Si la clave no existe: Imprime
"Not found"
- Si la clave existe: Imprime
3. Operación MODIFY
- Formato:
"MODIFY key targetValue" - Acción:
- Si la clave existe Y su valor actual es igual a targetValue: Usa
replace()para actualizar el valor a targetValue + 1 - Si la clave existe PERO su valor actual es diferente de targetValue: Usa
remove()para eliminar la clave - Si la clave no existe: Usa
put()para agregarla con targetValue como su valor
- Si la clave existe Y su valor actual es igual a targetValue: Usa
- Nota: NO imprimas nada durante las operaciones MODIFY
Salida final:
Después de procesar todas las operaciones, el método debe devolver el HashMap modificado. El método main lo imprimirá en formato JSON.
Pruébalo tú mismo
// --- Módulos para convertir cadena de hashmap a hashmap ---
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
// -----------------------------
import java.util.HashMap;
import java.util.Scanner;
public class Main {
public static HashMap<String, Integer> processHashMap(HashMap<String, Integer> data, String[] operations) {
// Escribe tu código aquí
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String hashMapString = scanner.nextLine();
String operationsString = scanner.nextLine();
// Convertir cadena de HashMap a HashMap
Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
HashMap<String, Integer> data = new Gson().fromJson(hashMapString, mapType);
// Convertir cadena de Array a Array
String[] operations = new Gson().fromJson(operationsString, String[].class);
HashMap<String, Integer> result = processHashMap(data, operations);
System.out.println(new Gson().toJson(result));
}
}
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