Assuming the arrays are having unique elements in themself (no duplicates in an array)
You can use some data structure like HashMap to push all elements of the arrays as keys, and values as their count of occurrences to find common elements if the value is 3 :
private ArrayList<Integer> commonElements() {
int a[] = {1,3,7,6};
int b[] = {2,5,0,4};
int c[] = {11,23,71,6};
HashMap<Integer, Integer> elementCunt = new HashMap<>();
for(int element: a) {
if(elementCunt.containsKey(element)) {
elementCunt.put(element, elementCunt.get(element) + 1);
} else {
elementCunt.put(element, 1);
}
}
for(int element: b) {
if(elementCunt.containsKey(element)) {
elementCunt.put(element, elementCunt.get(element) + 1);
} else {
elementCunt.put(element, 1);
}
}
for(int element: c) {
if(elementCunt.containsKey(element)) {
elementCunt.put(element, elementCunt.get(element) + 1);
} else {
elementCunt.put(element, 1);
}
}
Iterator<Integer> itr = elementCunt.keySet().iterator();
ArrayList<Integer> commonElements = new ArrayList<>();
while(itr.hasNext()) {
int key = itr.next();
if(elementCunt.get(key) == 3) {
commonElements.add(key);
}
}
return commonElements;
}