Queue是一个接口,这意味着你不能直接构造一个Queue 。
最好的select是构造一个已经实现Queue接口的类,如下所示: AbstractQueue , ArrayBlockingQueue , ConcurrentLinkedQueue , DelayQueue , DelayQueue , LinkedList , PriorityBlockingQueue , PriorityQueue或SynchronousQueue 。
另一种方法是编写自己的类来实现必要的队列接口。 这是不必要的,除非在极less数情况下,你希望做一些特别的事情,同时为Queue的其余部分提供一个Queue 。
public class MyQueue implements Queue { public T element() { ... your code to return an element goes here ... } public boolean offer(T element) { ... your code to accept a submission offer goes here ... } ... etc ... }
更less使用的替代方法是构造一个实现Queue的匿名类。 你可能不想这样做,但为了覆盖所有的基础,它被列为选项。
new Queue() { public Tree element() { ... }; public boolean offer(Tree element) { ... }; ... };
Queue是一个接口。 除非通过匿名内部类,否则不能直接实例化接口。 通常情况下,这不是你想要做的收集。 相反,select一个现有的实现。 例如:
Queue q = new