See More

import java.util.*; public class Intersection2Arrays { public int[] intersection(int[] nums1, int[] nums2) { Set set1 = new HashSet<>(); Set set2 = new HashSet<>(); for (int n : nums1) { set1.add(n); } for (int n : nums2) { set2.add(n); } return getIntersection(set1,set2); } public int[] getIntersection(Set set1, Set set2) { Set integerSet = new HashSet<>(); if (set1.size() > set2.size()) return getIntersection(set2,set1); for (Integer n : set1) { if (set2.contains(n)) integerSet.add(n); } int[] arr = new int[integerSet.size()]; int i = 0; for (Integer n : integerSet) { arr[i++] = n; } return arr; } }