A Queue
- это интерфейс, что означает, что вы не можете создать Queue
напрямую.
Лучшим вариантом является создание класса, который уже реализует интерфейс Queue
, как один изследующие: AbstractQueue
, ArrayBlockingQueue
, ArrayDeque
, ConcurrentLinkedQueue
, DelayQueue
, LinkedBlockingQueue
, LinkedList
, PriorityBlockingQueue
, PriorityQueue
или SynchronousQueue
.
Anальтернатива - написать свой собственный класс, который реализует необходимый интерфейс очереди.Это не требуется, за исключением тех редких случаев, когда вы хотите сделать что-то особенное, предоставляя остальной части вашей программы 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) {
...
};
...
};