How can I know the different element between 2 array list in java? I need the exact element not a Boolean value which can be retrieved using removeAll()
.
Call the method ReturnArrayListDiffElements passing two array lists. An array list which is the difference between two passed array lists will be returned
public ArrayList ReturnArrayListDiffElements(ArrayList arrList1, ArrayList arrList2){
ArrayList List1 = new ArrayList();
ArrayList List2 = new ArrayList();
ArrayList List3 = new ArrayList();
ArrayList List4 = new ArrayList();
List1.addAll(arrList1);
List2.addAll(arrList2);
List3 = ReturnArrayListCommonElements(List1,List2);
List1.removeAll(List3);
List2.removeAll(List3);
if(List1.size() > 0){
List4.add("Distinct elements in Array List 1");
List4.addAll(List1);
}
if(List2.size() > 0){
List4.add("Distinct elements in Array List 2");
List4.addAll(List2);
}
return List4;
}
public ArrayList ReturnArrayListCommonElements(ArrayList arrList1, ArrayList arrList2){
ArrayList List1 = new ArrayList();
ArrayList List2 = new ArrayList();
ArrayList List1A = new ArrayList();
ArrayList List2A = new ArrayList();
ArrayList List1B = new ArrayList();
ArrayList List3 = new ArrayList();
List1.addAll(arrList1);
List2.addAll(arrList2);
List1A.addAll(arrList1);
List2A.addAll(arrList2);
List1B.addAll(arrList1);
int intList1Size, intList2Size;
List1.removeAll(List2);
intList1Size = List1.size();
List2.removeAll(List1A);
intList2Size = List2.size();
if (intList1Size == 0 && intList2Size ==0) {
List3.addAll(List1B);
return List3;
} else {
List3.addAll(List1B);
List1B.removeAll(List2A);
List3.removeAll(List1B);
return List3;
}
}