Làm cách nào để sử dụng HashSet trong Java?

Lam Cach Nao De Su Dung Hashset Trong Java



Java có một lớp bộ sưu tập được gọi là HashSet thực hiện giao diện Set sử dụng bảng băm để lưu trữ. Nó được sử dụng để giữ một tập hợp các yếu tố riêng biệt trong bất kỳ sự sắp xếp nào. Ưu điểm chính của việc sử dụng HashSet là nó cho phép truy cập nhanh vào các phần tử, vì nó sử dụng hàm băm để lưu trữ các phần tử. HashSet lý tưởng để loại bỏ các bản sao và tìm các phần tử chung giữa hai tập hợp.

Hướng dẫn này sẽ minh họa HashSet cùng với các ví dụ có thể có trong Java.

Làm cách nào để sử dụng HashSet trong Java?

Để sử dụng HashSet trong Java, trước tiên hãy nhập lớp HashSet. Sau đó, tạo một đối tượng HashSet và thêm các phần tử bằng cách sử dụng “ thêm vào() ' phương pháp. Sử dụng hàm remove() để loại bỏ một thành viên của HashSet.







Người dùng cũng có thể sử dụng phương thức chứa() để tính toán nếu một phần tử tồn tại trong HashSet. Cuối cùng, để lặp lại các phần tử trong HashSet, hãy sử dụng vòng lặp for-each.



Dưới đây là một vài ví dụ về cách sử dụng HashSet trong Java:



Ví dụ 1: Xóa các bản sao khỏi ArrayList
Một trường hợp sử dụng phổ biến cho HashSet là loại bỏ các bản sao khỏi bộ sưu tập. Dưới đây là một ví dụ về cách sử dụng HashSet để loại bỏ các bản sao khỏi ArrayList:





nhập khẩu java. sử dụng . Lập danh sách ;
nhập khẩu java. sử dụng . Bộ băm ;

công cộng lớp học Loại bỏ trùng lặpVí dụ {
công cộng tĩnh khoảng trống chủ yếu ( Sợi dây [ ] tranh luận ) {
Danh sách ArrayListWithDuplicates = mới Lập danh sách ( ) ;
listWithDuplicates. thêm vào ( 'quả táo' ) ;
listWithDuplicates. thêm vào ( 'chuối' ) ;
listWithDuplicates. thêm vào ( 'quả cam' ) ;
listWithDuplicates. thêm vào ( 'quả táo' ) ;
listWithDuplicates. thêm vào ( 'quả cam' ) ;

HashSet setWithoutDuplicates = mới Bộ băm ( listWithDuplicates ) ;
Danh sách ArrayListWithoutDuplicates = mới Lập danh sách ( setWithoutDuplicates ) ;

Hệ thống. ngoài . bản in ( 'Danh sách trùng lặp:' + listWithDuplicates ) ;
Hệ thống. ngoài . bản in ( 'Danh sách không trùng lặp:' + danh sách không trùng lặp ) ;
}
}

Mô tả của mã trên được đưa ra dưới đây:

  • Đầu tiên, tạo một ArrayList gồm các chuỗi trùng lặp.
  • Sau đó, tạo một HashSet từ ArrayList. Đó là bởi vì HashSet chỉ có thể chứa các phần tử duy nhất, điều này giúp loại bỏ các phần tử trùng lặp một cách hiệu quả.
  • Cuối cùng, hãy tạo một ArrayList mới từ HashSet để có danh sách không trùng lặp.

đầu ra



Đầu ra cho thấy rằng bản sao đã bị xóa khỏi danh sách.

Ví dụ 2: Tìm Phần Tử Chung Giữa Hai Tập Hợp
Một trường hợp sử dụng khác cho HashSet là tìm các phần tử chung giữa hai tập hợp. Dưới đây là một ví dụ về cách sử dụng HashSet để tìm các phần tử chung giữa hai tập hợp:

nhập khẩu java. sử dụng . Bộ băm ;

công cộng lớp học FindCommonElementsVí dụ { // Chỉ định tên lớp
công cộng tĩnh khoảng trống chủ yếu ( Sợi dây [ ] tranh luận ) {
Bộ băm đặt1 = mới Bộ băm ( ) ;
Hiệp 1. thêm vào ( 1 ) ;
Hiệp 1. thêm vào ( 2 ) ; // Thêm giá trị vào đây
Hiệp 1. thêm vào ( 3 ) ;

Bộ băm đặt2 = mới Bộ băm ( ) ;
bộ2. thêm vào ( 2 ) ;
bộ2. thêm vào ( 3 ) ; // Thêm giá trị vào đây
bộ2. thêm vào ( 4 ) ;

HashSet commonElements = mới Bộ băm ( Hiệp 1 ) ;
commonelements. giữ lại tất cả ( bộ2 ) ;

Hệ thống. ngoài . bản in ( 'Hiệp 1: ' + Hiệp 1 ) ;
Hệ thống. ngoài . bản in ( 'Bộ 2:' + bộ2 ) ;
Hệ thống. ngoài . bản in ( 'Các yếu tố chung:' + yếu tố chung ) ;
}
}

Lời giải thích được đưa ra dưới đây:

  • Đầu tiên, tạo hai đối tượng HashSet và thêm một số số nguyên vào chúng.
  • Sau đó, tạo một đối tượng HashSet mới và thêm tất cả các phần tử từ set1 vào đó.
  • Sau đó, gọi phương thức keepAll() trên đối tượng HashSet mới này, chuyển vào set2 làm đối số.
  • Nó loại bỏ hiệu quả bất kỳ phần tử nào khỏi HashSet mới không có trong set2, chỉ để lại các phần tử phổ biến.

đầu ra

Kết quả cho thấy các phần tử chung đã được tìm thấy giữa hai tập hợp.

Phần kết luận

HashSet là một lớp tập hợp mạnh mẽ trong Java được sử dụng để lưu trữ một tập hợp các phần tử duy nhất không theo thứ tự cụ thể nào. Nó cung cấp các phương thức như “ thêm vào() ”, “ di dời() ', Và ' chứa() ” để thêm, xóa và kiểm tra sự hiện diện của các phần tử trong HashSet. Nó lặp qua các phần tử và đơn giản với một vòng lặp cho từng phần tử. Bằng cách triển khai các phương thức hashCode() và equals(), người dùng cũng có thể sử dụng các đối tượng tùy chỉnh trong HashSet.

Hướng dẫn này đã trình bày tất cả các ví dụ có thể sử dụng HashSet trong Java.