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