版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_41061455/article/details/82431953
用java实现一个类似于c++的STL中的priority_queue优先队列.
package ldm;
import java.util.*;
class student{
String s;
int n;
public student(String s,int n) {
this.s=s;
this.n=n;
}
public String toString(){
return s +" "+ n;
}
}
public class Main {
public static void main(String[] args) {
PriorityQueue<student>q=new PriorityQueue<student>(11,new Comparator<student>(){
public int compare(student x,student y) {
if(x.s.equals(y.s)) return x.s.compareTo(y.s);
else return x.n-y.n;
}
});
for(int i=0;i<10;i++) {
q.add(new student("s"+i,new Random().nextInt(100)));
}
while(!q.isEmpty()) System.out.println(q.poll().toString());
}
}