Menu
Coddy logo textTech

Resumen - HashMap

Parte de la sección Lógica y Flujo del Journey de Java de Coddy — lección 15 de 59.

challenge icon

Desafío

Fácil

Crea 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"

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
  • 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