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 2 HashSet này.
  • Kiểm tra xem HashSet 2 có phải là tập hợp con của HashSet 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ào HashSet 1 và hiển thị lại HashSet 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 giải
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:

Nguồn: freetuts.net