У меня есть очередь элементов, отсортированных по дате. Мне нужно извлечь первые n элементов, которые имеют одну и ту же дату, и добавить их во временный ArrayList, из которого я выбираю один из них и оставляю остальные. После этого мне нужно продолжать делать то же самое для следующих n элементов очереди с той же датой (извлечь их в список temp и т. Д.), Пока у меня не будет больше элементов в очереди.Сравнение последовательных элементов в очереди
// some notes to help you understand the code
PriorityQueue<Results> r, size(4), elementsEqualByTime(1=2,3=4);
List<Comments> c, size(2);
ArrayList temp;
if (c.size() != r.size() && resultIter.hasNext()) {
//first iteration will compare element 0 to itself -> 100% true
ResultObject r2 = resultIter.next();
ResultObject r1 = r2;
while (resultIter.hasNext() && r1.getTime().equals(r2.getTime())) {
temp.add(r1);
//we add the matching elements before we continue
r1 = r2;
temp.add(r1);
if (resultIter.hasNext()) {
//after we add the 2 matching elements we continue
r2 = resultIter.next();
}
}
//use the items in temp
temp.clear();
}
Сейчас он работает на 1-й набор элементов, но на 2-й итерации не добавляет элементы в темп ArrayList. Я был бы признателен за помощь в этом решении, но я также могу предложить различные предложения.