import java.util.Comparator;
import java.util.PriorityQueue;
import java.util.Queue;
public class test1 {
public static void main(String[] args) {
//Queue<Grade> grades=new PriorityQueue<>(11,gradeComparator);
Queue<Grade> grades=new PriorityQueue<>(11,new Comparator<Grade>() {
public int compare(Grade c1, Grade c2) {
return c1.num-c1.num;
}
});
grades.offer(new Grade(1));
grades.offer(new Grade(4));
grades.offer(new Grade(3));
grades.offer(new Grade(2));
System.out.println(grades.poll());
System.out.println(grades.poll());
System.out.println(grades.poll());
System.out.println(grades.poll());
}
/*public static Comparator<Grade> gradeComparator=new Comparator<Grade>() {
public int compare(Grade c1, Grade c2) {
return c1.num-c1.num;
}
};*/
}
class Grade{
int num;
public Grade(int num) {
this.num = num;
}
@Override
public String toString() {
return String.valueOf(num);
}
}
优先队列PriorityQueue的Compatator的用法精简版(jdk1.7)
最新推荐文章于 2022-02-11 17:09:52 发布
这篇博客展示了如何在Java中使用PriorityQueue和Comparator接口来创建一个优先级队列,用于存储和自动按特定规则排序Grade对象。代码示例创建了一个队列,并插入了几个Grade对象,然后按照数字属性进行排序并依次弹出队列中的元素。
摘要由CSDN通过智能技术生成