Menu
CoddyTech

Kiểm tra khóa có tồn tại

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 13 trên 59.

Phương thức containsKey(key) kiểm tra xem một khóa cụ thể có tồn tại trong HashMap hay không. Phương thức này trả về true hoặc false.

Ví dụ, trước tiên hãy thêm dữ liệu vào HashMap:

HashMap<String, Integer> scores = new HashMap<>();
scores.put("Alice", 95);

Và bây giờ, ta có thể kiểm tra xem một khóa có tồn tại hay không:

boolean exists1 = scores.containsKey("Alice");
// exists1 hiện có giá trị true
boolean exists2 = scores.containsKey("Bob");
// exists2 hiện có giá trị false
challenge icon

Thử thách

Dễ

Tạo một phương thức tên là keyChecker nhận hai đối số:

  1. Một HashMap tên là randomValues, trong đó các khóa là chuỗi ngẫu nhiên và các giá trị là số nguyên ngẫu nhiên.
  2. Một mảng keys chứa các khóa dạng chuỗi.

Phương thức này sẽ trả về số lượng khóa trong keys có trong HashMap

Tự làm thử

// 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 int keyChecker(HashMap<String, Integer> randomValues, String[] keys) {
        // Viết code của bạn bên dưới
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String hashMapString = scanner.nextLine();
        String arrayString = 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> randomValues = new Gson().fromJson(hashMapString, mapType);

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

        int result = keyChecker(randomValues, keys);
        System.out.println(result);
    }
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

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