The union of two TreeSets is a Set of all the elements present in the two TreeSets. As the set does not contain duplicate values, so the union of two TreeSets also does not have duplicate values. Union of two TreeSets can be done using the addAll() method from java.util.TreeSet. TreeSet stores distinct values in sorted order, so the union can be done using the addition of set2 to set1, the addAll() method adds all the values of set2 that not present in set1 in sorted order.
The intersection of two TreeSet is a Set of all the same elements of set1 and set2. The intersection of two TreeSets also does not contain duplicate values. The intersection of two TreeSets can be done using the retainAll() method from java.util.TreeSet. The retainAll() method removes all the elements that are not same in both the TreeSets.
Example:
Input : set1 = {10, 20, 30} set2 = {20, 30, 40, 50} Output: Union = {10, 20, 30, 40, 50} Intersection = {20, 30} Input : set1 = {a, b, c} set2 = {b, d, e} Output: Union = {a, b, c, d, e} Intersection = {b}
Below is the implementation:
// Java Program to Get the Union //& Intersection of Two TreeSet import java.util.*;
public class GFG {
public static void main(String[] args)
{
// New TreeSet1
TreeSet<Integer> treeSet1 = new TreeSet<>();
// Add elements to treeSet1
treeSet1.add( 10 );
treeSet1.add( 20 );
treeSet1.add( 30 );
// New TreeSet1
TreeSet<Integer> treeSet2 = new TreeSet<>();
// Add elements to treeSet2
treeSet2.add( 20 );
treeSet2.add( 30 );
treeSet2.add( 40 );
treeSet2.add( 50 );
// Print the TreeSet1
System.out.println( "TreeSet1: " + treeSet1);
// Print the TreeSet1
System.out.println( "TreeSet2: " + treeSet2);
// New TreeSet
TreeSet<Integer> union = new TreeSet<>();
// Get a Union using addAll() method
union.addAll(treeSet2);
union.addAll(treeSet1);
// Print the Union
System.out.println( "Union: " + union);
// New TreeSet
TreeSet<Integer> intersection = new TreeSet<>();
intersection.addAll(treeSet1);
intersection.retainAll(treeSet2);
// Print the intersection
System.out.println( "Intersection: " + intersection);
}
} |
TreeSet1: [10, 20, 30] TreeSet2: [20, 30, 40, 50] Union: [10, 20, 30, 40, 50] Intersection: [20, 30]