A Queue
- це інтерфейс, який означає, що ви не можете створити Queue
безпосередньо.
Найкращим варіантом є побудова від класу , який вже реалізує Queue
інтерфейс, як один з наступних: AbstractQueue
, ArrayBlockingQueue
, ArrayDeque
, ConcurrentLinkedQueue
, DelayQueue
, LinkedBlockingQueue
, LinkedList
, PriorityBlockingQueue
, PriorityQueue
, або SynchronousQueue
.
Альтернативою є написання власного класу, який реалізує необхідний інтерфейс черги. Це не потрібно, за винятком тих рідкісних випадків, коли ви хочете зробити щось особливе, надаючи решту своєї програми а 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 ...
}
Ще менш вживаною альтернативою є побудова анонімного класу, який реалізується Queue
. Напевно, ви не хочете цього робити, але це вказано як варіант для покриття всіх підстав.
new Queue<Tree>() {
public Tree element() {
...
};
public boolean offer(Tree element) {
...
};
...
};