在使用PriorityQueue类时
使用
for(int i=0; i<priorityqueue.size(); i++)
与
for(int i : priorityqueue)
遍历PriorityQueue时
有时会出现PriorityQueue未能正常排序
甚至是size()方法未能正确返回PriorityQueue的大小的问题
具体为什么会出现这个问题我也不是很清楚
但是如果我们能用
while(!priorityqueue.isEmpty()){
priorityqueue.poll()
}
就不会出现这种问题
示例代码:
int temp2 = -1;
for(int i=0; i<m; i++) {
if(temp2 != people3.peek()) {
temp2 =people3.peek();
}else {
people3.poll();
continue;
}
for(Person person2 : persons) {
if(person2.score == people3.peek()) {
int w = person2.id.size();
while(!person2.id.isEmpty()) {
System.out.println(person2.id.poll() + " " + person2.score);
}
people3.poll();
break;
}
}
}