2012年3月29日星期四

获取两个数组的差集(A|B)U(B|A)




<T> T[] different(T[] newArray, T[] oldArray) {
if (newArray == null) {
return oldArray;
}
if (oldArray == null) {
return newArray;
}
Set<T> newSet = new HashSet<T>(Arrays.asList(newArray));
Set<T> temp = new HashSet<T>(Arrays.asList(newArray));
Set<T> oldSet = new HashSet<T>(Arrays.asList(oldArray));
newSet.removeAll(oldSet);
oldSet.removeAll(temp);
newSet.addAll(oldSet);
return (T[]) newSet.toArray();
}


没有评论:

发表评论