A Queue
é uma interface, o que significa que você não pode construir uma Queue
diretamente.
A melhor opção é construir fora de uma classe que já implementa a Queue
interface, como um dos seguintes: AbstractQueue
, ArrayBlockingQueue
, ArrayDeque
, ConcurrentLinkedQueue
, DelayQueue
, LinkedBlockingQueue
, LinkedList
, PriorityBlockingQueue
, PriorityQueue
, ou SynchronousQueue
.
Uma alternativa é escrever sua própria classe, que implementa a interface de fila necessária. Não é necessário, exceto nos casos raros em que você deseja fazer algo especial, fornecendo ao restante do seu programa a 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 ...
}
Uma alternativa ainda menos usada é construir uma classe anônima que implemente Queue
. Você provavelmente não quer fazer isso, mas está listado como uma opção para cobrir todas as bases.
new Queue<Tree>() {
public Tree element() {
...
};
public boolean offer(Tree element) {
...
};
...
};