Один из способов сделать это - написать компаратор, чтобы отсортировать список по cnk String, а затем сравнить каждую последовательную cnk String со следующей, если вы найдете дубликат, они будут рядом друг с другом.
1.) Сортируйте список с помощью компаратора путем сортировки по переменной cnk.
2.) Сравните каждый элемент в списке на наличие дубликатов.
Естьвероятно, есть много других способов решить эту проблему, это только первое, что пришло на ум.
Я не проверял это, так что вы были предупреждены LOL:
ArrayList<Riziv> rizArray = new ArrayList<Riziv>();
//Sort the array by the CNK variable.
Collections.sort(rizArray, new Comparator<Riziv>(){
@Override
public int compare(Riziv arg0, Riziv arg1) {
//Return the comparison of the Strings.
//Use .compareToIgnoreCase if you want to ignore upper/lower case.
return arg0.getCnk().compareTo(arg1.getCnk());
}
});
//List should be in alphabetical order at this point.
List<Riziv> duplicates = new ArrayList<Riziv>();
Riziv rizPrevious = null;
for(Riziv riz: rizArray){
if(rizPrevious == null){
rizPrevious = riz;
continue;
}
if(riz.getCnk().compareTo(rizPrevious.getCnk()) == 0){
duplicates.add(riz);
}
rizPrevious = riz;
}