package com.github.ralgond.yousuggest;
import java.util.Comparator;
import java.util.PriorityQueue;
public class Test0 {
	public static void main(String args[]) {
		int topK = 5;
		
		Comparator<Integer> cmp = new Comparator<Integer>() {
			@Override
			public int compare(Integer o1, Integer o2) {
				if (o2 > o1)
					return -1;
				else if (o2 < o1)
					return 1;
				return 0;
			}
		};
		
		PriorityQueue<Integer> pq = new PriorityQueue<>(topK, cmp);
		
		
		for (int i = 0; i < 10; i++) {
			if (pq.size() < topK)
				pq.add(i);
			else {
				if (pq.comparator().compare(i, pq.peek()) > 0) {
					pq.poll();
					pq.add(i);
				}
			}
		}
		
		for (int i : pq) {
			System.out.println(i);
		}
	}
}
原文:https://www.cnblogs.com/ralgo/p/14210740.html