Trong bài viết này, chúng ta sẽ cùng tìm hiểu về Set Interface trong Java và các phương thức của nó cùng với ví dụ dẫn chứng.
Set Interface
Set Interface cung cấp các tính năng của tập hợp toán học trong Java. Nó kế thừa Collection Interface. Không giống như List Interface, Set sẽ không thể chứa các phần tử trùng lặp.
Các lớp triển khai Set
Vì Set là một Interface nên chúng ta không thể tạo các đối tượng từ nó. Để sử dụng các chức năng của Set Interface, chúng ta có thể sử dụng các lớp sau:
- HashSet
- LinkedHashSet
- EnumSet
- TreeSet
Các lớp này được định nghĩa trong Collections Framework và thực hiện triển khai cho Set Interface.
Các Interface kế thừa Set
Set Interface cũng được kế thừa bởi các Interface con này:
- SortedSet
- NavigableSet
Làm thế nào để sử dụng Set?
Trong Java, chúng ta phải thêm gói package java.util.Set để sử dụng Set. Sau đây là câu câu lệnh để khởi tạo Set.
1 |
Set<String> a = new HashSet<>(); |
Ở đây, chúng ta đã tạo một Set với tên là a. Chúng ta đã sử dụng lớp HashSet để triển khai Set Interface.
Các phương thức của Set
Set Interface bao gồm tất cả các phương thức của Collection Interface. Một số phương thức thường được sử dụng của Collection Interface cũng có sẵn trong Set Interface là:
- Phương thức add(): Thêm phần tử được chỉ định vào tập hợp.
- Phương thức addAll(): Thêm tất cả các phần tử của tập hợp được chỉ định vào tập hợp gọi phương thức này.
- Phương thức iterator(): Trả về một đối tượng vòng lặp có thể được sử dụng để truy cập tuần tự các phần tử của tập hợp.
- Phương thức remove(): Xóa phần tử được chỉ định khỏi tập hợp.
- Phương thức removeAll(): Xóa tất cả các phần tử khỏi tập hợp có trong một tập hợp khác được chỉ định.
- Phương thức retainAll(): Giữ lại tất cả các phần tử trong tập hợp cũng có mặt trong một tập hợp khác được chỉ định.
- Phương thức clear(): Xóa tất cả các phần tử khỏi tập hợp.
- Phương thức size(): Trả về độ dài (số phần tử) của tập hợp.
- Phương thức toArray(): Trả về một mảng chứa tất cả các phần tử của tập hợp.
- Phương thức contains(): Trả về giá trị true nếu tập hợp chứa phần tử được xác định.
- Phương thức containsAll(): Trả về giá trị true nếu tập hợp chứa tất cả các phần tử của tập hợp được xác định.
- Phương thức hashCode(): Trả về giá trị mã băm (địa chỉ của phần tử trong tập hợp).
Các thao tác của Set
Set Interface trong Java cho phép chúng ta thực hiện các thao tác tập hợp toán học cơ bản như liên hợp, giao điểm và tập con.
- Liên hợp: Lấy được liên hợp của hai tập hợp x và y, chúng ta có thể sử dụng x.addAll(y).
- Giao điểm: Lấy giao điểm của hai tập hợp x và y, chúng ta có thể sử dụng x.retainAll(y).
- Tập con: Kiểm tra xem x có phải là tập con của y hay không, chúng ta có thể sử dụng y.containsAll(x).
Ví dụ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import java.util.Set; import java.util.HashSet; class Main { public static void main(String[] args) { Set<Integer> tap_hop = new HashSet<>(); tap_hop.add(13); tap_hop.add(34); System.out.println(tap_hop); Set<Integer> tap_hop2 = new HashSet<>(); tap_hop2.add(52); tap_hop2.add(43); tap_hop2.addAll(tap_hop); System.out.println(tap_hop2); } } |
Kết quả:
1 2 |
[34, 13] [34, 52, 43, 13] |
Trên đây là khái niệm và ví dụ cơ bản về Set Interface trong Java. Hy vọng mọi người có thể áp dụng vào trong chương trình của mình. Mọi người hãy tiếp tục theo dõi các bài tiếp theo và cập nhật các bài mới nhất trên tek4 nhé!
P/s: Cảm ơn mọi người!