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

我尝试这样做:

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吗?谢谢!

最佳答案

您链接到的方法的javadoc说该方法返回MinMaxPriorityQueue.Builder的实例。此类具有多种方法来配置和创建队列(具有最大大小,初始内容等)。

所以你只需要

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

关于java - Guava MinMaxPriorityQueue实例化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21840715/

10-10 19:22