A Queue
bir arayüzdür, yani Queue
doğrudan inşa edemezsiniz .
En iyi seçenek zaten uygulayan bir sınıf kapalı oluşturmaktır Queue
aş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) {
...
};
...
};