Menu
CoddyTech

Ringkasan: HashMap

Termasuk bagian Logika & Alur dalam perjalanan Java di Coddy. Pelajaran 15 dari 59.

challenge icon

Tantangan

Mudah

Buat method bernama processHashMap yang menerima HashMap<String, Integer> dan array berisi operasi String, lalu melakukan tindakan berikut:

1. Operasi GET

  • Format: "GET key"
  • Tindakan:
    • Jika key ada: Cetak nilainya
    • Jika key tidak ada: Cetak "Not found"

2. Operasi CHECK

  • Format: "CHECK key"
  • Tindakan:
    • Jika key ada: Cetak "Exists"
    • Jika key tidak ada: Cetak "Not found"

3. Operasi MODIFY

  • Format: "MODIFY key targetValue"
  • Tindakan:
    • Jika key ada DAN nilainya saat ini sama dengan targetValue: Gunakan replace() untuk memperbarui nilai menjadi targetValue + 1
    • Jika key ada TETAPI nilainya saat ini berbeda dari targetValue: Gunakan remove() untuk menghapus key
    • Jika key tidak ada: Gunakan put() untuk menambahkannya dengan targetValue sebagai nilainya
  • Catatan: JANGAN mencetak apa pun selama operasi MODIFY

Output akhir:

Setelah memproses semua operasi, method harus mengembalikan HashMap yang telah diubah. Method main akan mencetaknya dalam format JSON.

Coba sendiri

// --- module untuk mengubah string hashmap menjadi 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) {
        // Tulis kodemu di sini
    }

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

        // Ubah String dari HashMap menjadi HashMap
        Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
        HashMap<String, Integer> data = new Gson().fromJson(hashMapString, mapType);

        // Ubah String dari Array menjadi Array
        String[] operations = new Gson().fromJson(operationsString, String[].class);

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

Semua pelajaran di Logika & Alur

Latihan sendiri: Compiler Java online