Set is an interface which extends Collection. It is an unordered collection of objects in which duplicate values cannot be stored.
Basically, Set is implemented by HashSet, LinkedHashSet or TreeSet (sorted representation).
Set has various methods to add, remove clear, size, etc to enhance the usage of this interface
// Java code for adding elements in Set
import java.util.HashSet;
import java.util.Set;
public class SetExample
{
public static void main(String[] args)
{
// Set demo using HashSet
Set<String> hash_Set = new HashSet<String>();
hash_Set.add("GyanSetu");
hash_Set.add("For");
hash_Set.add("GyanSetu");
hash_Set.add("Example");
hash_Set.add("Set");
System.out.print("Set output without the duplicates");
System.out.println(hash_Set);
}
}
Set output without the duplicates[GyanSetu, Set, Example, For]
Basic Set operation :
Union
In this, we could simply add one Set with other. Since the Set will itself not allow any duplicate entries, we need not take care of the common values.
Expected Output:
Union : [0, 1, 2, 3, 4, 5, 7, 8, 9]
Intersection
We just need to retain the common values from both Sets.
Expected Output:
Intersection : [0, 1, 3, 4]
Difference
We just need to remove all the values of one Set from the other.
Expected Output:
Difference : [2, 8, 9]
// Java code for demonstrating union, intersection and difference
// on Set
import java.util.HashSet;
import java.util.Set;
public class SetExample
{
public static void main(String args[])
{
Set<Integer> a = new HashSet<Integer>();
a.add(1);
a.add(3);
a.add(2);
a.add(4);
a.add(8);
a.add(9);
a.add(0);
Set<Integer> b = new HashSet<Integer>();
b.add(1);
b.add(3);
b.add(7);
b.add(5);
b.add(4);
b.add(0);
b.add(7);
a.add(5);
// To find union
Set<Integer> union = new HashSet<Integer>(a);
union.addAll(b);
System.out.print("Union of the two Set");
System.out.println(union);
// To find intersection
Set<Integer> intersection = new HashSet<Integer>(a);
intersection.retainAll(b);
System.out.print("Intersection of the two Set");
System.out.println(intersection);
// To find the symmetric difference
Set<Integer> difference = new HashSet<Integer>(a);
difference.removeAll(b);
System.out.print("Difference of the two Set");
System.out.println(difference);
}
}
Union of the two Set[0, 1, 2, 3, 4, 5, 7, 8, 9]
Intersection of the two Set[0, 1, 3, 4, 5]
Difference of the two Set[2, 8, 9]