方法一(采用HashSet)
public static Set<Integer> getDifferentElement(Integer[] a, Integer[] b) {
Long start = System.currentTimeMillis();
Set<Integer> temp1 = new HashSet<Integer>();
Set<Integer> temp2 = new HashSet<Integer>();
Set<Integer> result = new HashSet<Integer>();
for (int i = 0; i < a.length; i++) {
temp1.add(a[i]);
}
for (int j = 0; j < b.length; j++) {
temp2.add(b[j]);
}
for (int k = 0; k < b.length; k++) {
if (temp1.add(b[k])) {
result.add(b[k]);
}
}
for (int k = 0; k < a.length; k++) {
if (temp2.add(a[k])) {
result.add(a[k]);
}
}
System.out.println("HashSet用时:" + (System.currentTimeMillis() - start));
return result;
}
方法二(采用list)
public static List<Integer> getDifferentElement(Integer[] a, Integer[] b) {
List<Integer> aList = Arrays.asList(a);
List<Integer> bList = Arrays.asList(b);
List<Integer> resultList = new ArrayList<Integer>();
for (int i = 0; i < bList.size(); i++) {
if (!aList.contains(bList.get(i))) {
resultList.add(bList.get(i));
}
}
for (int j = 0; j < aList.size(); j++) {
if (!bList.contains(aList.get(j))) {
resultList.add(aList.get(j));
}
}
return resultList;
}
推荐采用方法二
Remark:QQ交流群:260052172