Java - Thực hiện các toán tử tập hợp con, toán tử hợp, toán tử giao giữa 2 HashSet.
Viết chương trình thực hiện các yêu cầu sau:
- Tạo mới 2
HashSet
có kiểu làInteger
và nhập các phần tử cho 2HashSet
này. - Kiểm tra xem
HashSet
2 có phải là tập hợp con củaHashSet
1 hay không? Nếu có thì thông báo là tập hợp con, ngược lại thì thông báo không là tập hợp con. - Thêm tất cả các phần tử của
HashSet
2 vàoHashSet
1 và hiển thị lạiHashSet
1. - Tìm và hiển thị các phần tử chung giữa 2
HashSet
này.
Bài giải
-------------------- ######## --------------------
Hướng dẫn: Để giải bài tập này, chúng ta sẽ sử dụng các phương thức có sẵn của Java như sau:
containsAll()
sẽ xác định 1 HashSet
có phải là tập hợp con của 1 HashSet
khác hay không.
addAll()
sẽ thực hiện phép toán hợp giữa HashSet
1 và HashSet
2 (tức là lấy các phần tử có trong HashSet 2 thêm vào trong HashSet 1).
retainAll()
sẽ loại bỏ các phần tử có trong HashSet
1 nhưng không có trong HashSet 2 (tức là tìm ra các phần tử chung giữa HashSet 1 và HashSet 2).
Bài viết này được đăng tại [free tuts .net]
public static void main(String[] args) { // tạo mới 2 HashSet có kiểu là Integer HashSet<Integer> hashSetInteger1 = new HashSet<>(); HashSet<Integer> hashSetInteger2 = new HashSet<>(); // thêm phần tử vào 2 HashSet này hashSetInteger1.add(3); hashSetInteger1.add(2); hashSetInteger1.add(6); hashSetInteger1.add(7); hashSetInteger2.add(6); hashSetInteger2.add(3); hashSetInteger2.add(8); // hiển thị 2 HashSet System.out.println("Các phần tử của hashSetInteger1: " + hashSetInteger1); System.out.println("Các phần tử của hashSetInteger2: " + hashSetInteger2); // Kiểm tra xem hashSetInteger2 có phải là tập hợp con của hashSetInteger1 hay không? // sử dụng phương thức constainsAll() if (hashSetInteger1.containsAll(hashSetInteger2)) { System.out.println("hashSetInteger2 là tập hợp con của hashSetInteger1"); } else { System.out.println("hashSetInteger2 không là tập hợp con của hashSetInteger1"); } // Thêm tất cả các phần tử của hashSetInteger2 vào hashSetInteger1 // và hiển thị lại hashSetInteger1 // sử dụng phương thức addAll() hashSetInteger1.addAll(hashSetInteger2); System.out.println("Các phần tử của hashSetInteger1 sau khi thêm: " + hashSetInteger1); // Tìm và hiển thị các phần tử chung giữa 2 HashSet này // sử dụng phương thức retainAll() hashSetInteger1.retainAll(hashSetInteger2); System.out.print("Các phần tử chung giữa hashSetInteger1 và hashSetInteger2 là: "); System.out.println(hashSetInteger1); }
Kết quả sau khi biên dịch chương trình:
Câu hỏi thường gặp liên quan:
- Java - Viết chương trình sắp xếp các phần tử của HashSet theo thứ tự tăng dần.
- Java - Thực hiện các toán tử tập hợp con, toán tử hợp, toán tử giao giữa 2 HashSet.
- Java - Viết chương trình tách các phần tử của 1 mảng thành 1 HashSet chứa các phần tử không trùng nhau.