A Queuebir arayüzdür, yani Queuedoğrudan inşa edemezsiniz .
En iyi seçenek zaten uygulayan bir sınıf kapalı oluşturmaktır Queueaşağıdakilerden biri gibi, arayüz: AbstractQueue, ArrayBlockingQueue, ArrayDeque, ConcurrentLinkedQueue, DelayQueue, LinkedBlockingQueue, LinkedList, PriorityBlockingQueue, PriorityQueue, veya SynchronousQueue.
Bir alternatif, gerekli Queue arayüzünü uygulayan kendi sınıfınızı yazmaktır. Programınızın geri kalanına a sağlarken özel bir şey yapmak istediğiniz nadir durumlar dışında gerekli değildir Queue.
public class MyQueue<T extends Tree> implements Queue<T> {
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 ...
}
Daha az kullanılan bir alternatif, uygulayan anonim bir sınıf oluşturmaktır Queue. Muhtemelen bunu yapmak istemezsiniz, ancak tüm üsleri kapsamak için bir seçenek olarak listelenir.
new Queue<Tree>() {
public Tree element() {
...
};
public boolean offer(Tree element) {
...
};
...
};