82. Lớp HashMap trong lập trình Java

Trong lập trình Java, HashMap là một lớp trong cấu trúc dữ liệu Map. Nó triển khai giao diện Map và được sử dụng để lưu trữ các cặp key-value, trong đó mỗi key là duy nhất và không trùng lặp.

HashMap dựa trên cơ chế băm (hashing) để lưu trữ và truy xuất các phần tử. Do đó, việc thêm, truy xuất và xóa phần tử trong HashMap có độ phức tạp là O(1) trung bình (trường hợp tốt), tuy nhiên, trong một số trường hợp tồi nhất, có thể là O(n) nếu xảy ra va chạm (collision) nhiều.

Điểm nổi bật của HashMap là tốc độ truy xuất nhanh và khả năng lưu trữ một số lượng lớn phần tử.

Dưới đây là cách tạo và sử dụng HashMap trong Java:

  1. Khởi tạo một đối tượng HashMap trống:
java
import java.util.HashMap;

HashMap<String, Integer> hashMap = new HashMap<>();

Trong ví dụ trên, String là kiểu dữ liệu của key và Integer là kiểu dữ liệu của value.

  1. Thêm phần tử vào HashMap:
java
hashMap.put("apple", 5);
hashMap.put("banana", 3);
hashMap.put("orange", 7);
  1. Truy xuất giá trị thông qua key:
java
int numberOfApples = hashMap.get("apple"); // numberOfApples sẽ là 5
  1. Duyệt qua các cặp key-value trong HashMap:
java
for (String key : hashMap.keySet()) {
    int value = hashMap.get(key);
    System.out.println(key + ": " + value);
}

Kết quả đầu ra sẽ là:

makefile
apple: 5
banana: 3
orange: 7

Một số điểm cần lưu ý về HashMap:

  • HashMap cho phép key có giá trị null, nhưng chỉ cho phép một key null duy nhất (nếu thêm nhiều key null, key cuối cùng sẽ ghi đè lên các key null trước đó).
  • HashMap cho phép value có giá trị null.
  • HashMap không đồng bộ (non-synchronized). Nếu bạn cần sử dụng nó trong môi trường đa luồng (multi-threading), bạn nên thêm đồng bộ hóa để đảm bảo tính toàn vẹn dữ liệu.
  • Nếu bạn cần duyệt qua HashMap theo thứ tự cụ thể, bạn có thể sử dụng lớp LinkedHashMap thay vì HashMap, nó sẽ giữ thứ tự chèn của các cặp key-value.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top