//------------
// Da Introduction to Programming Using Java: An Object-Oriented Approach
//	Arnow/Weiss: capitolo 8
//------------

import java.io.*;
import java.util.*;

class useSet {
    public static void main(String [] args) {
	Set s1 = new Set();
	s1.addElement("A");
	s1.addElement("B");
	s1.addElement("C");
	s1.addElement("A");
	System.out.println(s1);
	Set s2 = new Set();
	s2.addElement("B");
	s2.addElement("C");
	s2.addElement("D");
	s2.addElement("D");
	System.out.println(s2);
	System.out.println(s1.union(s2));
	    System.out.println(s1.intersection(s2));

	if (s1.equals(s2)) 
	    System.out.println("Gli insiemi  "+s1+" e  "+s2+" sono uguali!");
	else System.out.println("Gli insiemi  "+s1+" e  "+s2+" sono diversi!");

	if (s1.union(s2).equals(s2.union(s1)))
	    System.out.println("Gli insiemi "+
			       s1.union(s2)+ " e  "+
			       s2.union(s1)+" sono uguali!");
	else System.out.println("Gli insiemi  "+
			       s1.union(s2)+ " e  "+
			       s2.union(s1)+" sono diversi!");

    

	Set sdiff = s1.copy();
	Enumeration e = s2.elements();
	while (e.hasMoreElements()) 
	    sdiff.removeElement(e.nextElement());
	System.out.println(sdiff);
	System.out.println(s1.difference(s2));
    }
}

