Skip to main content

Hashmap là gì?

Trong khoa học máy tính, bảng băm hoặc băm là một hình thức cấu trúc dữ liệu sao cho mỗi phần dữ liệu được liên kết với một số hoặc ký hiệu nhận dạng duy nhất.Điều này cho phép dễ dàng truy xuất, đặc biệt là từ một cơ sở dữ liệu lớn chứa hàng ngàn mục.Hashmap không phải là một phần cụ thể của chương trình, mà là đề cập đến một hình thức tổ chức dữ liệu gán cho từng mục, được gọi là khóa, trong cơ sở dữ liệu cho một giá trị là viết tắt của mục đó.Hàm băm là một phần của chương trình liên kết các khóa với giá trị của chúng.Danh bạ điện thoại phục vụ như một ví dụ tuyệt vời về Hashmap.Cách sách điện thoại được đặt ra đại diện cho cấu trúc HashMap.Nó tập trung vào việc liên kết các giá trị khác nhau với nhau và chỉ liên kết một giá trị với một thuật ngữ tương ứng khác hoặc số điện thoại.Tên trong danh bạ điện thoại là các phím và số điện thoại là các giá trị liên quan đến chúng.Mỗi người trong cuốn sách được chỉ định một số khác nhau và không có hai người giống nhau.Các hộp bưu điện cũng phục vụ như một phép ẩn dụ cho Hashmap.Mỗi người có một chìa khóa cho một hộp duy nhất.Hộp có thể chứa nhiều mẩu thông tin mdash;Hóa đơn, thư, bưu thiếp mdash;Tất cả dành cho cá nhân có chìa khóa cho hộp.Khi khóa chính xác được chèn vào hoặc khớp với hộp chính xác, nó sẽ mở để tiết lộ nội dung của nó. Hashmap hoạt động hoàn hảo sẽ liên kết một khóa với một hộp bộ nhớ trong cơ sở dữ liệu máy tính.Thật không may, một yếu tố được gọi là va chạm băm có thể xảy ra, trong đó hai phím đi vào cùng một hộp.Điều này xảy ra khi một lượng lớn dữ liệu được nhập và không có đủ hộp để chứa tất cả.Không giống như một danh bạ điện thoại hoặc hộp bưu điện, Hashmaps bao gồm một phần tử thứ ba ngoài khóa và giá trị hoặc hộp mà nó khớp với.Nó cũng bao gồm một hàm băm.Một người biết hộp bưu điện nào là của cô ấy, nhưng một máy tính phải được kể khóa nào đi đến hộp nào.Hàm Hash xem xét khóa, dịch nó thành một loạt các số hoặc mã và liên kết nó với hộp chứa mã tương ứng.Tên của khóa, chẳng hạn như Mary, chỉ có ở đó để mọi người dễ dàng diễn giải hơn, trong khi mã thực tế là một chuỗi các số dành cho máy tính đọc.