Symmetric difference of two sets in Java

前端 未结 7 1998
礼貌的吻别
礼貌的吻别 2021-02-03 21:49

There are two TreeSets in my app:

set1 = {501,502,503,504}
set2 = {502,503,504,505}

I want to get the symmetric difference of thes

7条回答
  •  礼貌的吻别
    2021-02-03 22:35

    You're after the symmetric difference. This is discussed in the Java tutorial.

    Set symmetricDiff = new HashSet(set1);
    symmetricDiff.addAll(set2);
    // symmetricDiff now contains the union
    Set tmp = new HashSet(set1);
    tmp.retainAll(set2);
    // tmp now contains the intersection
    symmetricDiff.removeAll(tmp);
    // union minus intersection equals symmetric-difference
    

提交回复
热议问题