public int[] intersection(int[] nums1, int[] nums2) { Set<Integer> set1 = new HashSet<>(), set2 = new HashSet<>(); for(int a: nums1) set1.add(a); List<Integer> list = new ArrayList<>(); for(int b: nums2) { if(set1.contains(b)) { set1.remove(b); list.add(b); } } int[] ans = list.stream().mapToInt(Integer::intValue).toArray(); return ans; }