两个Java数组的对称差异

eda*_*lij 3 java arrays java-api

我有两个数组

 String[] ID1={"19","20","12","13","14"};

 String[] ID2={"10","11","12","13","15"};  
Run Code Online (Sandbox Code Playgroud)

在比较上面两个数组时,如何得到以下答案.

我想在比较上面两个数组时排除常见元素.

 String[] Result={"14","15","19","20","10","11"};
Run Code Online (Sandbox Code Playgroud)

Thi*_*ilo 7

好像你想要两组的联合(没有重复,对吧?)减去交集:

Set<Integer> union = new HashSet<Integer>(Arrays.asList(ID1));
union.addAll(Arrays.asList(ID2);

Set<Integer> intersection = new HashSet<Integer>(Arrays.asList(ID1));
intersection.retainAll(Arrays.asList(ID2);

union.removeAll(intersection);

// result is left in "union" (which is badly named now)
Run Code Online (Sandbox Code Playgroud)

(我将你的String更改为Integer,这似乎更适合数据,但它可以以相同的方式使用String)