PriorityQueue---java

版权声明:本文为博主原创文章,未经博主允许不得转载。 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());
	}
}

猜你喜欢

转载自blog.csdn.net/qq_41061455/article/details/82431953