A Queue
es una interfaz, lo que significa que no puede construir una Queue
directamente.
La mejor opción es la construcción de una clase que ya implementa la Queue
interfaz, como uno de los siguientes: AbstractQueue
, ArrayBlockingQueue
, ArrayDeque
, ConcurrentLinkedQueue
, DelayQueue
, LinkedBlockingQueue
, LinkedList
, PriorityBlockingQueue
, PriorityQueue
, o SynchronousQueue
.
Una alternativa es escribir su propia clase que implemente la interfaz de cola necesaria. No es necesario, excepto en aquellos casos raros en los que desea hacer algo especial mientras que proporciona el resto de su programa con una 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 ...
}
Una alternativa aún menos utilizada es construir una clase anónima que implemente Queue
. Probablemente no quieras hacer esto, pero está en la lista como una opción para cubrir todas las bases.
new Queue<Tree>() {
public Tree element() {
...
};
public boolean offer(Tree element) {
...
};
...
};