【发布时间】:2013-05-09 15:04:01
【问题描述】:
我正在尝试编写一个带有优先级队列的简单应用程序。我收到以下错误——“错误:leastPriority 不是抽象的,并且没有覆盖比较器中的抽象方法 compare(Integer,Integer)”和“错误:不兼容的类型 比较器 cmp = new minimumPriority(); "
谁能指出这段代码的问题。
我的代码是:
class leastPriority implements Comparator<Integer> {
public int compare(Reservation x, Reservation y){
if(x.getPriority() > y.getPriority()){
return -1;
}
if(x.getPriority() < y.getPriority()){
return +1;
}
return 0;
}
}
public class prioQueue{
public static void main(String args[]){
Comparator<Reservation> cmp = new leastPriority();
PriorityQueue<Reservation> queue = new PriorityQueue<Reservation>(10,cmp);
queue.add(new Reservation(1,"Andy",10));
queue.add(new Reservation(1,"Peter",1));
queue.add(new Reservation(1,"John",4));
while(true){
Reservation r = queue.poll();
if(r==null){
break;
}
System.out.println(r.getName());
}
}
}
【问题讨论】:
标签: java data-structures priority-queue comparator