Menu
Coddy logo textTech

Podsumowanie — HashMap

Część sekcji Logika i przepływ sterowania ścieżki Java w Coddy. Lekcja 15 z 59.

challenge icon

Wyzwanie

Łatwy

Utwórz metodę o nazwie processHashMap, która przyjmuje HashMap<String, Integer> oraz tablicę operacji typu String, a następnie wykonuje następujące działania:

1. Operacja GET

  • Format: "GET key"
  • Działanie:
    • Jeśli klucz istnieje: wypisz wartość
    • Jeśli klucz nie istnieje: wypisz "Not found"

2. Operacja CHECK

  • Format: "CHECK key"
  • Działanie:
    • Jeśli klucz istnieje: wypisz "Exists"
    • Jeśli klucz nie istnieje: wypisz "Not found"

3. Operacja MODIFY

  • Format: "MODIFY key targetValue"
  • Działanie:
    • Jeśli klucz istnieje ORAZ jego bieżąca wartość jest równa targetValue: użyj replace(), aby zaktualizować wartość na targetValue + 1
    • Jeśli klucz istnieje, ALE jego bieżąca wartość różni się od targetValue: użyj remove(), aby usunąć klucz
    • Jeśli klucz nie istnieje: użyj put(), aby dodać go z wartością targetValue
  • Uwaga: NIE wypisuj niczego podczas operacji MODIFY

Wynik końcowy:

Po przetworzeniu wszystkich operacji metoda powinna zwrócić zmodyfikowaną HashMap. Metoda main wypisze ją w formacie JSON.

Spróbuj swoich sił

// --- Moduły do konwersji ciągu znaków reprezentującego hashmapę na 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) {
        // Wpisz tutaj swój kod
    }

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

        // Przekształć String reprezentujący HashMap w HashMap
        Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
        HashMap<String, Integer> data = new Gson().fromJson(hashMapString, mapType);

        // Przekształć String reprezentujący Array w Array
        String[] operations = new Gson().fromJson(operationsString, String[].class);

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

Wszystkie lekcje w sekcji Logika i przepływ sterowania

Poćwicz samodzielnie: Kompilator Java online