2014-02-17 36 views
0

我在实例化Guava的MinMaxPriorityQueue时遇到了问题(http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/MinMaxPriorityQueue.html#orderedBy%28java.util.Comparator%29)。我真的不明白它所指的建造者是什么。我不善于解释Javadocs。Guava MinMaxPriorityQueue实例化

我也试着这样做:

MinMaxPriorityQueue<T bob = new MinMaxPriorityQueue<T>(null, int); 

会抛出错误The constructor MinMaxPriorityQueue<T>(MinMaxPriorityQueue.Builder<? super E>, int) is not visible

我试着这样做:

MinMaxPriorityQueue<T> bob = MinMaxPriorityQueue.create();

会抛出错误:MinMaxPriorityQueue<T> bob = MinMaxPriorityQueue.create();

有人能解释一下,如何实例化一个最大尺寸为N的MinMaxPriorityQueue和一个比较器NodeComparator?谢谢!

+0

这是我的错,我羞愧合适。 –

回答

5

您链接的方法的javadoc表示此方法返回MinMaxPriorityQueue.Builder的实例。这个类有各种方法来配置和创建队列(用最大的尺寸,初始内容等)

所以,你只需要

MinMaxPriorityQueue<Node> bob = 
    MinMaxPriorityQueue.orderedBy(nodeComparator) 
         .maximumSize(1000) 
         .create();