A Queue
ist eine Schnittstelle, dh Sie können keine Queue
direkt erstellen .
Die beste Möglichkeit ist , eine Klasse zu konstruieren aus , dass bereits die implementiert Queue
Schnittstelle, wie eine der folgenden: AbstractQueue
, ArrayBlockingQueue
, ArrayDeque
, ConcurrentLinkedQueue
, DelayQueue
, LinkedBlockingQueue
, LinkedList
, PriorityBlockingQueue
, PriorityQueue
, oder SynchronousQueue
.
Eine Alternative besteht darin, eine eigene Klasse zu schreiben, die die erforderliche Warteschlangenschnittstelle implementiert. Es wird nicht benötigt, außer in den seltenen Fällen, in denen Sie etwas Besonderes tun möchten, während Sie dem Rest Ihres Programms eine 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 ...
}
Eine noch weniger verwendete Alternative besteht darin, eine anonyme Klasse zu erstellen, die implementiert wird Queue
. Sie möchten dies wahrscheinlich nicht tun, aber es wird als Option aufgeführt, um alle Basen abzudecken.
new Queue<Tree>() {
public Tree element() {
...
};
public boolean offer(Tree element) {
...
};
...
};