FaCode Ngôn ngữ Java HashSet trong Java

FaCode Ngôn ngữ Java

FaCode Ngôn ngữ Java HashSet trong Java

Lớp HashSet trong Java

Lớp HashSet trong java là một lớp kế thừa lớp AbstractSet và triển khai của Set Interface trong Collections Framework nên nó sẽ có một vài đặc điểm và phương thức tương đồng với Set. HashSet được sử dụng để tạo một bộ sưu tập sử dụng bảng băm để lưu trữ. Nó kế thừa lớp AbstractSet và triển khai Set interface.

Một hash table lưu giữ thông tin bởi sử dụng một kỹ thuật được gọi là hashing (băm). Trong hashing, nội dung mang tính thông tin của một key được sử dụng để quyết định một value duy nhất, được gọi là hash code của nó.

Hash code sau đó được sử dụng như là index, tại đó dữ liệu mà liên kết với key được lưu giữ. Phép biến đổi của key vào trong hash code của nó được thực hiện tự động.


Đặc điểm của lớp HashSet trong Java

Các điểm quan trọng về lớp HashSet trong java là:

  • HashSet chỉ chứa các phần tử duy nhất.
  • HashSet lưu trữ các phần tử bằng cách sử dụng một cơ chế được gọi là băm (hash table).

Hierarchy của lớp HashSet trong Java

Lớp HashSet extends lớp AbstractSet impliments giao diện Set. Giao diện Set kế thừa giao diện Collection và Iterable:

FaCode Ngôn ngữ Java

Khai báo của lớp HashSet trong Java

Dưới đây là khai báo của lớp java.util.HashSet trong java


Constructor của lớp HashSet trong Java

ConstructorMô tả
HashSet()Nó được sử dụng để khởi tạo một HashSet trống có dung lượng ban đầu mặc định (16) và hệ số tải (0,75).
HashMapHashSet(Collection c)Nó được sử dụng để xây dựng một HashSet chứa collection c được chỉ định.
HashSet(int initialCapacity)Nó được sử dụng để xây dựng một HashSet trống với dung lượng ban đầu được chỉ định và hệ số tải mặc định là 0,75.
HashSet(int initialCapacity, float loadFactor)Nó được sử dụng để xây dựng HashSet trống có dung lượng ban đầu được chỉ định và hệ số tải được chỉ định.
FaCode Ngôn ngữ Java

Các phương thức của lớp HashSet trong java

MethodDescription
boolean add(Object element)Nó được sử dụng để chèn các phần tử vào HashSet.
boolean addAll(Collection c)Nó được sử dụng để chèn tất cả các phần tử của c vào HashSet.
void clear()Xóa tất cả các phần tử khỏi HashSet.
boolean contains(Object element)Trả về true nếu tập hợp này chứa phần tử đã chỉ định.
boolean containsAll(Collection c)Trả về true nếu HashSet chứa tất cả các phần tử của collection c đã chỉ định.
boolean equals(Object o)So sánh các đối tượng được chỉ định với HashSet.
boolean isEmpty()Trả về true nếu HashSet không chứa phần tử.
int hashCode()Trả về giá trị mã băm
Iterator iterator()Trả về một trình vòng lặp iterator để duyệt qua các phần tử của HashSet.
boolean remove(Object o)Xóa phần tử đã chỉ định khỏi HashSet.
boolean removeAll(Collection c)Xóa khỏi HashSet tất cả các phần tử của nó được chứa trong collection c đã chỉ định.
boolean retainAll(Collection c)Chỉ giữ lại các phần tử trong HashSet được chứa trong collection c đã chỉ định.
int size()Trả về số lượng các phần tử của HashSet.
Object[] toArray()Trả về một mảng chứa tất cả các phần tử trong HashSet.
T[] toArray(T[] a)Trả về một mảng chứa tất cả các phần tử trong HashSet, kiểu run-time của mảng trả về là kiểu đã chỉ định.
FaCode Ngôn ngữ Java

Ví dụ về HashSet trong java

Hãy xem ví dụ đơn giản về HashSet trong java sau, để xem HashSet hoạt động như thế nào:

FaCode Ngôn ngữ Java

Kết quả:

FaCode Ngôn ngữ Java

Khai báo HashSet trong Java

Ví dụ: khai báo HashSet trong Java:


Thêm các phần tử vào HashSet trong Java

Để thêm các phần tử cho một HashSet bạn gọi phương thức add(). Phương thức này được kế thừa từ Collection interface.


Thêm các phần tử một Collection khác vào HashSet trong Java

Phương thức addAll(Collection c) được sử dụng để chèn tất cả các phần tử của c vào HashSet, Ví dụ:

FaCode Ngôn ngữ Java

Kết quả:


Duyệt các phần của một HashSet trong Java

Có hai cách để duyệt các phần tử của Java HashSet.

  • Sử dụng bộ lặp Iterator
  • Sử dụng vòng lặp for-each

Sử dụng bộ lặp Iterator

Ví dụ duyệt Set với bộ lặp Iterator:

Kết quả:

Sử dụng vòng lặp for-each

Ví dụ duyệt Set với vòng lặp for-each:


Kết quả:


Xóa phần tử khỏi HashSet trong Java

Bạn xóa các phần tử khỏi HashSet bằng cách gọi phương thức remove(Object o). Ví dụ:

Kết quả:


Xóa tất cả các phần tử khỏi HashSet trong Java

Bạn có thể xóa tất cả các phần tử khỏi HashSet bằng phương thức clear().


Độ dài của HashSet trong Java

Bạn có thể kiểm tra độ dài/kích thước của một HashSet trong Java bằng cách sử dụng phương thức size().

Kết quả:


Kiểm tra HashSet trống trong Java

Bạn có thể kiểm tra độ dài/kích thước của một HashSet trong Java bằng cách sử dụng phương thức isEmpty().

Kết quả:


Chuyển đổi Set thành List trong Java

Bạn có thể chuyển đổi Set thành List trong Java bằng cách tạo List và gọi addAll() phương thức của nó, truyền tham số dưới dạng set cho phương thức addAll(). Ví dụ:

Kết quả:


Ví dụ sử dụng HashSet với kiểu do người dùng tự định nghĩa (Object)

Kết quả:

____________________

FaCode Ngôn ngữ Java

Khóa học lập trình

7 Java frameworks phổ biến nhất hiện nay

xem thêm

________

FaCode là một seri học tập lập trình, lần này là FaCode ngôn ngữ Java, bằng mọi nỗ lực FaCode sẽ hoàn thành các mục tiêu đề ra trong FaCode Ngôn ngữ Java. Hãy đồng hành cùng FaCode Ngôn ngữ Java và theo dõi chúng tôi nhé. FaCode Ngôn ngữ Java rất mong nhận được lời góp ý từ phía cộng đồng. Share4Happy với phương châm chia sẻ để hạnh phúc.

Related posts

FaCode Ngôn ngữ Java những câu hỏi phỏng vấn về Hibernate trong Java

FaCode Ngôn ngữ Java những câu hỏi phỏng vấn về JSP trong Java

FaCode Ngôn ngữ Java những câu hỏi phỏng vấn servlet.