Java - Thực hiện phép toán hợp, tìm những phần tử khác nhau và toán tử giao giữa 2 Set.
Viết chương trình khai báo 2 Set và nhập vào các phần tử cho Set đó. Sau đó tiến hành thực hiện phép toán hợp, tìm những phần tử khác nhau và toán tử giao giữa 2 Set.
        
    
Bài giải
-------------------- ######## --------------------
Để giải bài này, chúng ta sẽ sử dụng phương thức clone() để tạo bản sao của 1 Set bất kỳ. Nếu không sử dụng phương thức này thì sau mỗi lần thực hiện 1 toán tử nào đó thì các phần tử có trong Set sẽ thay đổi và vì vậy, kết quả của những yêu cầu khác trong chương trình này sẽ không còn đúng nữa.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
            Bài giải
        
    public static void main(String[] args) {
	// khai báo 2 mảng chứa các loài động vật
	String animal1[] = {"Dog", "Cat", "Bear", "Bee", "Snake", "Tiger"};
	String animal2[] = {"Dog", "Bird", "Snake", "Monkey"};
		
	// chuyển 2 mảng này thành List sử dụng Arrays.asList()
	// và thêm vào trong Set
	HashSet<String> setAnimal1 = new HashSet<>(Arrays.asList(animal1));
	HashSet<String> setAnimal2 = new HashSet<>(Arrays.asList(animal2));
		
	// phương thức clone() sẽ tạo 1 bản sao của setAnimal2
	// sau đó ép kiểu của setAnimal2.clone() về HashSet
	HashSet<String> unionSet = (HashSet<String>) setAnimal2.clone();
		
	// Toán tử hợp
	// thêm các phần tử có trong setAnimal1 vào trong setAnimal2
	unionSet.addAll(setAnimal1);
		
	// hiển thị setAnimal2 sau khi thêm
	System.out.println("Kết quả sau khi thực hiện toán tử hợp: ");
	System.out.println(unionSet);
		
	// Tạo 1 Set có tên là differentSet chứa những phần tử khác nhau
	// của setAnimal1 và setAnimal2
	HashSet<String> differentSet = (HashSet<String>) setAnimal1.clone();
	HashSet<String> setAnimal2Copy = (HashSet<String>) setAnimal2.clone();
		
	// tìm phần tử khác nhau giữa diffentSet với setAnimal2
	differentSet.removeAll(setAnimal2);
		
	// tìm phần tử khác nhau giữa setAnimal2Copy và setAnimal1
	setAnimal2Copy.removeAll(setAnimal1);
		
	differentSet.addAll(setAnimal2Copy);
	System.out.println("Các phần tử có trong differentSet là: ");
	System.out.println(differentSet);
		
	// Toán tử giao
	HashSet<String> intersection = (HashSet<String>) setAnimal1.clone();
	intersection.retainAll(setAnimal2);
	System.out.println("Các phần tử có trong intersection là: ");
	System.out.println(intersection);
}
Kết quả sau khi biên dịch chương trình:
Câu hỏi thường gặp liên quan:

            Các kiểu dữ liệu trong C ( int - float - double - char ...)        
            Thuật toán tìm ước chung lớn nhất trong C/C++        
            Cấu trúc lệnh switch case trong C++ (có bài tập thực hành)        
            ComboBox - ListBox trong lập trình C# winforms        
            Random trong Python: Tạo số random ngẫu nhiên        
            Lệnh cin và cout trong C++        
                Cách khai báo biến trong PHP, các loại biến thường gặp            
                Download và cài đặt Vertrigo Server            
                Thẻ li trong HTML            
                Thẻ article trong HTML5            
                Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên            
                Cách dùng thẻ img trong HTML và các thuộc tính của img            
                Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng