Итоги - HashMap
Часть раздела Логика и управление потоком путешествия по Java на Coddy — урок 15 из 59.
Задание
ЛегкоСоздайте метод с именем 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 в качестве значения
- Если ключ существует И текущее значение равно 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();
// Преобразование строки HashMap в HashMap
Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
HashMap<String, Integer> data = new Gson().fromJson(hashMapString, mapType);
// Преобразование строки массива в массив
String[] operations = new Gson().fromJson(operationsString, String[].class);
HashMap<String, Integer> result = processHashMap(data, operations);
System.out.println(new Gson().toJson(result));
}
}
Все уроки раздела Логика и управление потоком
1Многомерные массивы
Основы 2D-массивовДоступ к элементам 2D-массиваВложенные циклы с 2D-массивамиПовторение - 2D-массивыСложение и вычитание матрицРваные массивы3D-массивы и вышеРаспространённые паттерны 2D-массивовПовторение - всё о массивах2HashMap Часть 1
Что такое HashMap?Объявление HashMapДоступ к значениямПроверка существования ключаИзменение словарейИтоги - HashMap3HashMap. Часть 2
Методы HashMapИтерация с keySet()Итерация с entrySet()Вложенный HashMapПовторение - Управление складомПовторение - Операции HashMap6Продвинутое управление потоком
Операторы метокВыражение switchСопоставление шаблоновОхранные клаузыИтоги - управление потоком9Проект - Счетчик уникальных слов
Ввод и хранение текстаОбработка слов