Итоги - 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();
// Преобразовать 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));
}
}
Все уроки раздела Логика и управление потоком
1Многомерные массивы
Основы 2D-массивовДоступ к элементам 2D-массиваВложенные циклы с 2D-массивамиПовторение - 2D-массивыСложение и вычитание матрицРваные массивы3D-массивы и вышеРаспространённые паттерны 2D-массивовПовторение - всё о массивах2HashMap Часть 1
Что такое HashMap?Объявление HashMapДоступ к значениямПроверка существования ключаИзменение словарейИтоги - HashMap3HashMap. Часть 2
Методы HashMapИтерация с keySet()Итерация с entrySet()Вложенный HashMapПовторение - Управление складомПовторение - Операции HashMap6Продвинутое управление потоком
Операторы метокВыражение switchСопоставление шаблоновОхранные клаузыИтоги - управление потоком9Проект - Счетчик уникальных слов
Ввод и хранение текстаОбработка словПотренируйтесь самостоятельно: Онлайн-компилятор Java