62,612
社区成员
发帖
与我相关
我的任务
分享
import java.util.ArrayList;
import java.util.HashSet;
public class Test {
public static void main(String[] args){
//init
ArrayList<Integer> a1 = new ArrayList<Integer>();
ArrayList<Integer> a2 = new ArrayList<Integer>();
int[] arr1 = new int[]{1,2,3,4};
int[] arr2 = new int[]{1,2,5,6};
for(int i = 0;i < arr1.length;++i) a1.add(arr1[i]);
for(int i = 0;i < arr2.length;++i) a2.add(arr2[i]);
//get result
ArrayList<Integer> result = findResult(a1, a2);
System.out.println(result.toString());
}
private static ArrayList<Integer> findResult(ArrayList<Integer> a1,ArrayList<Integer> a2){
@SuppressWarnings("unchecked")
ArrayList<Integer> result = (ArrayList<Integer>) a1.clone();
result.removeAll(a2);
a2.removeAll(a1);
result.addAll(a2);
return result;
}
}
public static void main(String[] args) {
Set<Integer> a = new HashSet<Integer>();
a.addAll(Arrays.asList(1, 2, 3, 4));
Set<Integer> b = new HashSet<Integer>();
b.addAll(Arrays.asList(1, 2, 5, 6));
System.out.println(symmetricDiff(a, b));
}
static <E> Set<E> symmetricDiff(Set<E> a, Set<E> b) {
assert a != null;
assert b != null;
Set<E> result = new HashSet<E>(a);
result.addAll(b);
for(E i : a)
if( b.contains(i) )
result.remove(i);
return result;
}