Вы можете использовать Наборы следующим образом:
Integer[] a = {1, 2, 3, 3, 5, 5, 7, 8, 7};
Set<Integer> duplicatesSet = new HashSet<>();
Set<Integer> helperSet = new HashSet<>();
for (Integer element : a) {
if (!helperSet.add(element)) { // NOTE*
System.out.println("Duplicate found : " + element);
duplicatesSet.add(element);
}
}
Затем вы можете делать все что угодно с набором дубликатов
for(Integer el : duplicatesSet){
System.out.println(el);
}
Примечание *
Согласно javadocs:
boolean add(E e);
Добавляет указанный элемент в этот набор, если он еще не существует
возвращает true, если этот набор сделалеще не содержит указанный элемент
Таким образом, мы можем узнать, находится ли элемент уже в наборе, если он есть, мы можем добавить его к нашим дубликатам.