老规矩,不废话,直接上例子
package com.testing.main;
import java.util.Comparator;
import java.util.PriorityQueue;
import java.util.Queue;
public class PriorityQueueTest {
private String name = "";
private int num = 0;
public static void main(String[] args) {
Comparator<PriorityQueueTest> test = new Comparator<PriorityQueueTest>() {
@Override
public int compare(PriorityQueueTest o1, PriorityQueueTest o2) {
return o1.getNum() - o2.getNum();
}
};
// 初始长度10
// Queue<PriorityQueueTest> queue = new
// PriorityQueue<PriorityQueueTest>(10,test);
Queue<PriorityQueueTest> queue = new PriorityQueue<PriorityQueueTest>(
test);
queue.offer(new PriorityQueueTest("a", 1));
queue.offer(new PriorityQueueTest("b", 20));
queue.offer(new PriorityQueueTest("c", 10));
System.out.println(queue.poll());
}
public PriorityQueueTest(String name, int num) {
this.name = name;
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
}