Câu hỏi

Trong Java HashMap hoạt động như thế nào?

Câu trả lời

HashMap trong Java là một cấu trúc dữ liệu dựa trên bảng băm (hash table) và là một phần của Java Collections Framework. Nó lưu trữ dữ liệu dưới dạng cặp key-value, trong đó mỗi key là duy nhất và ánh xạ đến một giá trị cụ thể. HashMap cho phép thực hiện các thao tác như thêm, xóa và tìm kiếm các phần tử một cách nhanh chóng.

Nguyên lý hoạt động

  1. Hashing: Khi thêm một cặp key-value vào HashMap, key sẽ được băm thông qua hàm hashCode() để tạo ra một giá trị băm (hash value). Giá trị băm này sau đó được sử dụng để xác định vị trí (bucket) trong bảng băm nơi cặp key-value sẽ được lưu trữ
  2. Chèn dữ liệu (put): Khi phương thức put(key, value) được gọi, HashMap sẽ gọi phương thức hashCode() từ đối tượng key để tính toán giá trị hash. Dựa trên giá trị hash này, HashMap xác định bucket tương ứng để lưu trữ đối tượng Entry chứa cặp key-value
  3. Truy xuất dữ liệu (get): Khi phương thức get(key) được gọi, HashMap sử dụng key để tính toán giá trị hash tương tự như khi chèn dữ liệu. Sau đó, nó tìm đến bucket chứa key đó và trả về giá trị value tương ứng
  4. Xử lý va chạm (Collision Handling): Trong trường hợp hai key khác nhau tạo ra cùng một giá trị hash (xảy ra va chạm), HashMap sẽ lưu trữ các Entry n...
Bạn cần đăng nhập để xem