我用于每个循环和迭代器来遍历我的priorityQueue,但这给了我不同的结果
Queue<Pair<Record, Integer>> qq = new PriorityQueue<>(new RecordPairComparator());
int index = 0;
for(Run run : runs){
Iterator<Record> iterator = run.iterator();
while (iterator.hasNext()) {
qq.add(new Pair<Record, Integer>(iterator.next(), index));
}
index++;
}
List<Record> lst = new ArrayList<>();
// I have no idea why this one gives me different result
// for(Pair<Record, Integer> p : qq){
// lst.add(p.getFirst());
// }
while(!qq.isEmpty()){
lst.add(qq.poll().getFirst());
}
Run sortedRes = new Run();
sortedRes.addRecords(lst);
return sortedRes;
由于某种原因,他们给我的命令略有不同。有人可以帮忙吗?非常感谢!