Have 2 sets with duplicates set1 ={1,2,3,4,5}
set2 = {1,3,6,7}
and the result should be set3 ={2,4,5,6,7}
Please let me reiterate that I want to use Set interface and the result set should be ordered natural.
Asked
Active
Viewed 604 times
-6

user_falafel
- 27
- 3
-
So what have you tried so far? Have you looked at the `Set` interface? – Jon Skeet Jun 09 '15 at 09:10
-
Yes, looked at this was an interview question. – user_falafel Jun 09 '15 at 09:12
-
1[this](http://stackoverflow.com/questions/5868808/api-for-set-operations-in-java) [has](http://stackoverflow.com/questions/3590677/how-to-union-intersect-difference-and-reverse-data-in-java) [been](http://stackoverflow.com/questions/15575417/how-to-remove-common-values-from-two-array-list) [asked](http://stackoverflow.com/questions/5943330/common-elements-in-two-lists) [before](http://stackoverflow.com/questions/9917787/merging-two-arraylists-into-a-new-arraylist-with-no-duplicates-and-in-order-in). We want to help people out, but please check google before posting a question :) – John M Jun 09 '15 at 09:13
-
I don't see how "looked at this was an interview question" answers my question at all... – Jon Skeet Jun 09 '15 at 09:19
2 Answers
2
- Find the intersection
- Find the union
- Subtract the intersection from the union
Code:
public static void main(String[] args) {
Set<Integer> set1 = new HashSet<Integer>(Arrays.asList(1, 2, 3, 4, 5));
Set<Integer> set2 = new HashSet<Integer>(Arrays.asList(1, 3, 6, 7));
Set<Integer> intersection = new HashSet<Integer>(set1);
intersection.retainAll(set2);
// set1 is now the union of set1 and set2
set1.addAll(set2);
// set1 is now (union - intersection)
// All elements in set1 or set2, but not in both set1 & set2
set1.removeAll(intersection);
for(Integer n : set1) {
System.out.println(n);
}
}
Output:
2
4
5
6
7

almightyGOSU
- 3,731
- 6
- 31
- 41
1
You may try this -
Set set1, set2;
Set newSet = new HashSet(set1);
newSet.addAll(set2);

k.shamsu
- 69
- 8
-
-
1Is that correct? Shouldn't you get the union, get the intersection, and remove the intersection from the union? – almightyGOSU Jun 09 '15 at 09:21