Menu
Coddy logo textTech

Récapitulatif - HashMap

Fait partie de la section Logique & Flux du Journey Java de Coddy — leçon 15 sur 59.

challenge icon

Défi

Facile

Créez une méthode nommée processHashMap qui prend une HashMap<String, Integer> et un tableau d'opérations String, puis effectue les actions suivantes :

1. Opération GET

  • Format : "GET key"
  • Action :
    • Si la clé existe : Affichez la valeur
    • Si la clé n'existe pas : Affichez "Not found"

2. Opération CHECK

  • Format : "CHECK key"
  • Action :
    • Si la clé existe : Affichez "Exists"
    • Si la clé n'existe pas : Affichez "Not found"

3. Opération MODIFY

  • Format : "MODIFY key targetValue"
  • Action :
    • Si la clé existe ET sa valeur actuelle est égale à targetValue : Utilisez replace() pour mettre à jour la valeur à targetValue + 1
    • Si la clé existe MAIS sa valeur actuelle est différente de targetValue : Utilisez remove() pour supprimer la clé
    • Si la clé n'existe pas : Utilisez put() pour l'ajouter avec targetValue comme sa valeur
  • Note : N'imprimez rien pendant les opérations MODIFY

Sortie finale :

Après traitement de toutes les opérations, la méthode doit retourner la HashMap modifiée. La méthode main l'imprimera au format JSON.

Essayez vous-même

// --- Modules pour convertir une chaîne de hashmap en 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) {
        // Écrivez votre code ici
    }

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

        // Convertir la chaîne de HashMap en HashMap
        Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
        HashMap<String, Integer> data = new Gson().fromJson(hashMapString, mapType);

        // Convertir la chaîne d'Array en Array
        String[] operations = new Gson().fromJson(operationsString, String[].class);

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

Toutes les leçons de Logique & Flux