Hashmap

Duy Văn | 12/03/2025


Nếu ArrayList và LinkedList hoạt động như list phía Python thì HashMap sẽ hoạt động như một dictionary, nó lưu trữ dữ liệu theo cặp key-value

1 object sẽ được dùng làm key và 1 object dùng làm value, có thể có các cặp như:

  • String / String
  • String / Integer
  • Integer / String
  • Integer / Integer

Đồng thời, HashMap không cho phép key trùng nhau, nếu key trùng nhau thì value sẽ được ghi đè tương tự như dictionary trong Python

Ví dụ


import java.util.HashMap;

public class Main {
  public static void main(String[] args) {
    HashMap<String, String> capitalCities = new HashMap<String, String>();
  }
}

Thêm phần tử vào HashMap

Để thêm phần từ vào hashmap, chúng ta sử dụng method put()


import java.util.HashMap;

public class Main {
  public static void main(String[] args) {
    HashMap<String, String> capitalCities = new HashMap<String, String>();
    capitalCities.put("England", "London");
    capitalCities.put("Germany", "Berlin");
    capitalCities.put("Norway", "Oslo");
    capitalCities.put("USA", "Washington DC");
    System.out.println(capitalCities);
  }
}

Truy cập phần tử trong HashMap

Sử dụng method get() để truy cập phần tử trong hashmap


import java.util.HashMap;

public class Main {
  public static void main(String[] args) {
    HashMap<String, String> capitalCities = new HashMap<String, String>();
    capitalCities.put("England", "London");
    capitalCities.put("Germany", "Berlin");
    capitalCities.put("Norway", "Oslo");
    capitalCities.put("USA", "Washington DC");
    System.out.println(capitalCities.get("England"));
  }
}

Xóa phần tử trong HashMap

Sử dụng method remove() để xóa phần tử trong hashmap


import java.util.HashMap;

public class Main {
  public static void main(String[] args) {
    HashMap<String, String> capitalCities = new HashMap<String, String>();
    capitalCities.put("England", "London");
    capitalCities.put("Germany", "Berlin");
    capitalCities.put("Norway", "Oslo");
    capitalCities.put("USA", "Washington DC");
    capitalCities.remove("England");
    System.out.println(capitalCities);
  }
}

Hay để xoá toàn bộ phần tử, chúng ta sử dụng method clear()

HashMap size

Sử dụng method size() để lấy ra số lượng phần tử trong hashmap


import java.util.HashMap;

public class Main {
  public static void main(String[] args) {
    HashMap<String, String> capitalCities = new HashMap<String, String>();
    capitalCities.put("England", "London");
    capitalCities.put("Germany", "Berlin");
    capitalCities.put("Norway", "Oslo");
    capitalCities.put("USA", "Washington DC");
    System.out.println(capitalCities.size());
  }
}

Loop qua HashMap

Tương tự như phía Python có keys() và values() method để lấy ra bộ keys và values thì Java có keySet() và values() method


import java.util.HashMap;

public class Main {
  public static void main(String[] args) {
    HashMap<String, String> capitalCities = new HashMap<String, String>();
    capitalCities.put("England", "London");
    capitalCities.put("Germany", "Berlin");
    capitalCities.put("Norway", "Oslo");
    capitalCities.put("USA", "Washington DC");
    for (String i : capitalCities.keySet()) {
      System.out.println(i);
    }

    for (String i : capitalCities.values()) {
      System.out.println(i);
    }
  }
}

keySet sẽ trả về cơ bản là một array chứa các key, còn values sẽ trả về một array chứa các value