public static void main(String[] args) {
int[] arrayList1 = new int[]{1,2,3};
int[] arrayList2 = new int[]{2,3,4};
List<Integer> arrayList3 = new ArrayList<Integer>();
List<Integer> arrayList4 = new ArrayList<Integer>();
// 用arrayList1 匹配arrayList2
for (int num:arrayList1) {
if (Arrays.binarySearch(arrayList2, num)>=0){
arrayList3.add(num);// 相同
}else{
arrayList4.add(num);// 不同
}
}
// 用arrayList2 匹配arrayList1
for (int num:arrayList2) {
if (Arrays.binarySearch(arrayList1, num)>=0){
arrayList3.add(num);
}else{
arrayList4.add(num);
}
}
// 对相同的 arrayList3去重
if (arrayList3.size()>0){
HashSet<Integer> hashSet = new HashSet<Integer>(arrayList3);
arrayList3.clear();
arrayList3.addAll(hashSet);
}
System.out.println("arrayList1: 1,2,3 " );
System.out.println("arrayList2: 2,3,4 " );
System.out.println(" ---- 匹配得到两个数组相同的值 ---- ");
System.out.println("arrayList3: "+arrayList3);
System.out.println(" ---- 匹配得到两个数组中不同的值 ---- ");
System.out.println("arrayList4: "+arrayList4);
}
arrayList1: 1,2,3
arrayList2: 2,3,4
---- 匹配得到两个数组相同的值 ----
arrayList3: [2, 3]
---- 匹配得到两个数组中不同的值 ----
arrayList4: [1, 4]