In this article, we will understand how to calculate the intersection of two sets. A Set is a Collection that cannot contain duplicate elements. It models the mathematical set abstraction. The Set interface contains only methods inherited from Collection and adds the restriction that duplicate elements are prohibited.
Below is a demonstration of the same −
Suppose our input is −
First set: [40, 45] Second set: [50, 45]
The desired output would be −
The intersection of two sets is: [45]
Algorithm
Step 1 - START Step 2 - Declare namely Step 3 - Define the values. Step 4 - Create two Sets, and add elements to it using the ‘add’ method. Step 5 - Display the Sets on the console. Step 6 - Compute the intersection of the sets using the ‘retainAll’ method. Step 7 - Display the intersection (all the unique elements) of both the sets on the console. Step 8 - Stop
Example 1
Here, we bind all the operations together under the ‘main’ function.
import java.util.HashSet; import java.util.Set; public class Demo { public static void main(String[] args) { System.out.println("The required packages have been imported"); Set<Integer> input_set_1 = new HashSet<>(); input_set_1.add(40); input_set_1.add(45); System.out.println("The first set is defined as: " + input_set_1); Set<Integer> input_set_2 = new HashSet<>(); input_set_2.add(45); input_set_2.add(50); System.out.println("The second set is defined as: " + input_set_2); input_set_2.retainAll(input_set_1); System.out.println("\nThe intersection of two sets is: " + input_set_2); } }
Output
The required packages have been imported The first set is defined as: [40, 45] The second set is defined as: [50, 45] The intersection of two sets is: [45]
Example 2
Here, we encapsulate the operations into functions exhibiting object oriented programming.
import java.util.HashSet; import java.util.Set; public class Demo { static void set_intersection(Set<Integer> input_set_1, Set<Integer> input_set_2){ input_set_2.retainAll(input_set_1); System.out.println("\nThe intersection of two sets is: " + input_set_2); } public static void main(String[] args) { System.out.println("The required packages have been imported"); Set<Integer> input_set_1 = new HashSet<>(); input_set_1.add(40); input_set_1.add(45); System.out.println("The first set is defined as: " + input_set_1); Set<Integer> input_set_2 = new HashSet<>(); input_set_2.add(45); input_set_2.add(50); System.out.println("The second set is defined as: " + input_set_2); set_intersection(input_set_1, input_set_2); } }
Output
The required packages have been imported The first set is defined as: [40, 45] The second set is defined as: [50, 45] The intersection of two sets is: [45]