Java: HashSet

Lớp HashSet thực thi interface Set. HashSet tạo một collection sử dụng bảng băm (hashtable) để lưu trữ dữ liệu. Bảng băm là một cấu trúc dữ liệu lưu trữ thông tin bằng cách ánh xạ khóa của mỗi phần tử dữ liệu vào một vị trí hoặc chỉ mục của mảng. Khóa là một số nhận dạng được sử dụng để tìm hoặc tìm kiếm một giá trị trong bảng băm. Ý nghĩa cụ thể của các khóa trong bất kỳ bảng băm nào hoàn toàn phụ thuộc vào cách bảng được sử dụng và dữ liệu nó chứa. Việc chuyển đổi một khóa thành mã băm của nó được thực hiện tự động. Mã của người dùng không thể lập chỉ mục trực tiếp bảng băm.

Lớp HashSet này cho phép phần tử null. Tuy nhiên, không có gì đảm bảo về thứ tự lặp lại của tập hợp và thứ tự đó không đổi theo thời gian.

Lớp HashSet này cung cấp hiệu suất thời gian không đổi cho các hoạt động cơ bản. Để lặp lại, thời gian phải tỷ lệ thuận với tổng kích thước của thể hiện HashSet và dung lượng của thể hiện HashMap hỗ trợ.

Lưu ý – Để có hiệu suất lặp tốt, không đặt công suất ban đầu quá cao hoặc hệ số tải quá thấp.

Các hàm tạo của lớp HashSet như sau:

HashSet(): Hàm tạo tạo một bộ băm mặc định. Công suất ban đầu mặc định và hệ số tải lần lượt là 16 và 0,75.