A Queueคืออินเตอร์เฟสซึ่งหมายความว่าคุณไม่สามารถสร้าง a Queueได้โดยตรง
เลือกที่ดีที่สุดคือการสร้างปิดชั้นเรียนที่มีอยู่แล้วดำเนินการQueueอินเตอร์เฟซอย่างหนึ่งต่อไปนี้: AbstractQueue, ArrayBlockingQueue, ArrayDeque, ConcurrentLinkedQueue, DelayQueue, LinkedBlockingQueue, LinkedList, PriorityBlockingQueue, หรือPriorityQueueSynchronousQueue
อีกทางเลือกหนึ่งคือการเขียนคลาสของคุณเองซึ่งใช้อินเตอร์เฟสคิวที่จำเป็น 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) {
...
};
...
};