Menu
Coddy logo textTech

Riepilogo - HashMap

Fa parte della sezione Logica e flusso del percorso Java di Coddy. Lezione 15 di 59.

challenge icon

Sfida

Facile

Crea un metodo chiamato processHashMap che accetta un HashMap<String, Integer> e un array di operazioni String, quindi esegue le seguenti azioni:

1. Operazione GET

  • Formato: "GET key"
  • Azione:
    • Se la chiave esiste: stampa il valore
    • Se la chiave non esiste: stampa "Not found"

2. Operazione CHECK

  • Formato: "CHECK key"
  • Azione:
    • Se la chiave esiste: stampa "Exists"
    • Se la chiave non esiste: stampa "Not found"

3. Operazione MODIFY

  • Formato: "MODIFY key targetValue"
  • Azione:
    • Se la chiave esiste E il suo valore attuale è uguale a targetValue: usa replace() per aggiornare il valore a targetValue + 1
    • Se la chiave esiste MA il suo valore attuale è diverso da targetValue: usa remove() per eliminare la chiave
    • Se la chiave non esiste: usa put() per aggiungerla con targetValue come valore
  • Nota: NON stampare nulla durante le operazioni MODIFY

Output finale:

Dopo aver elaborato tutte le operazioni, il metodo deve restituire l'HashMap modificato. Il metodo main lo stamperà in formato JSON.

Provalo tu

// --- Moduli per convertire una stringa di hashmap in un 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) {
        // Scrivi il tuo codice qui
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String hashMapString = scanner.nextLine();
        String operationsString = scanner.nextLine();

        // Converti una String di HashMap in HashMap
        Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
        HashMap<String, Integer> data = new Gson().fromJson(hashMapString, mapType);

        // Converti una String di Array in Array
        String[] operations = new Gson().fromJson(operationsString, String[].class);

        HashMap<String, Integer> result = processHashMap(data, operations);
        System.out.println(new Gson().toJson(result));
    }
}

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Java online