Menu
CoddyTech

Итоги - HashMap

Часть раздела Логика и управление потоком путешествия по Java на Coddy. Урок 15 из 59.

challenge icon

Задание

Легко

Создайте метод с именем processHashMap, который принимает HashMap<String, Integer> и массив операций типа String, а затем выполняет следующие действия:

1. Операция GET

  • Формат: "GET key"
  • Действие:
    • Если ключ существует: выведите значение
    • Если ключ не существует: выведите "Not found"

2. Операция CHECK

  • Формат: "CHECK key"
  • Действие:
    • Если ключ существует: выведите "Exists"
    • Если ключ не существует: выведите "Not found"

3. Операция MODIFY

  • Формат: "MODIFY key targetValue"
  • Действие:
    • Если ключ существует И его текущее значение равно targetValue: используйте replace(), чтобы изменить значение на targetValue + 1
    • Если ключ существует, НО его текущее значение отличается от targetValue: используйте remove(), чтобы удалить ключ
    • Если ключ не существует: используйте put(), чтобы добавить его со значением targetValue
  • Примечание: ничего не выводите во время операций MODIFY

Итоговый вывод:

После обработки всех операций метод должен вернуть изменённый HashMap. Метод main выведет его в формате JSON.

Попробуйте сами

// --- Модули для преобразования строки с hashmap в 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) {
        // Напишите здесь свой код
    }

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

        // Преобразовать String с HashMap в HashMap
        Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
        HashMap<String, Integer> data = new Gson().fromJson(hashMapString, mapType);

        // Преобразовать String с Array в Array
        String[] operations = new Gson().fromJson(operationsString, String[].class);

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

Все уроки раздела Логика и управление потоком

Потренируйтесь самостоятельно: Онлайн-компилятор Java