A Queue
là một giao diện, có nghĩa là bạn không thể xây dựng Queue
trực tiếp.
Lựa chọn tốt nhất là xây dựng ra một lớp học mà đã thực hiện các Queue
giao diện, như một trong những điều sau đây: AbstractQueue
, ArrayBlockingQueue
, ArrayDeque
, ConcurrentLinkedQueue
, DelayQueue
, LinkedBlockingQueue
, LinkedList
, PriorityBlockingQueue
, PriorityQueue
, hoặc SynchronousQueue
.
Một cách khác là viết lớp của riêng bạn, thực hiện giao diện Hàng đợi cần thiết. Không cần thiết ngoại trừ trong những trường hợp hiếm hoi mà bạn muốn làm điều gì đó đặc biệt trong khi cung cấp phần còn lại của chương trình của bạn 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 ...
}
Một thay thế thậm chí ít được sử dụng là để xây dựng một lớp ẩn danh thực hiện Queue
. Bạn có thể không muốn làm điều này, nhưng nó được liệt kê như là một lựa chọn vì mục đích bao trùm tất cả các cơ sở.
new Queue<Tree>() {
public Tree element() {
...
};
public boolean offer(Tree element) {
...
};
...
};