Menu
CoddyTech

Ôn tập: HashMap

Thuộc phần Logic và luồng chương trình trong hành trình Java của Coddy. Bài học 15 trên 59.

challenge icon

Thử thách

Dễ

Tạo một phương thức có tên processHashMap, nhận một HashMap<String, Integer> và một mảng các thao tác String, sau đó thực hiện các hành động sau:

1. Thao tác GET

  • Định dạng: "GET key"
  • Hành động:
    • Nếu khóa tồn tại: In ra giá trị
    • Nếu khóa không tồn tại: In ra "Not found"

2. Thao tác CHECK

  • Định dạng: "CHECK key"
  • Hành động:
    • Nếu khóa tồn tại: In ra "Exists"
    • Nếu khóa không tồn tại: In ra "Not found"

3. Thao tác MODIFY

  • Định dạng: "MODIFY key targetValue"
  • Hành động:
    • Nếu khóa tồn tại VÀ giá trị hiện tại của khóa bằng targetValue: Dùng replace() để cập nhật giá trị thành targetValue + 1
    • Nếu khóa tồn tại NHƯNG giá trị hiện tại khác targetValue: Dùng remove() để xóa khóa
    • Nếu khóa không tồn tại: Dùng put() để thêm khóa với targetValue làm giá trị
  • Lưu ý: KHÔNG in ra bất cứ thứ gì trong các thao tác MODIFY

Đầu ra cuối cùng:

Sau khi xử lý tất cả các thao tác, phương thức sẽ trả về HashMap đã sửa đổi. Phương thức main sẽ in HashMap đó ở định dạng JSON.

Tự làm thử

// Các module chuyển chuỗi biểu diễn hashmap thành 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) {
        // Viết code của bạn ở đây
    }

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

        // Chuyển chuỗi biểu diễn HashMap thành HashMap
        Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
        HashMap<String, Integer> data = new Gson().fromJson(hashMapString, mapType);

        // Chuyển chuỗi biểu diễn mảng (array) thành mảng
        String[] operations = new Gson().fromJson(operationsString, String[].class);

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

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch Java online