Java 集合中的队列类在哪里?
2022-09-01 16:36:00
我只看到一个队列接口,Java集合中没有队列类吗?
Javadocs给出了实现.Queue
所有已知的实现类:
摘要Queue, ArrayBlockingQueue, ArrayDeque, ConcurrentLinkedQueue, DelayQueue, LinkedBlockingQueue, LinkedBlockingDeque, LinkedList, PriorityBlockingQueue, PriorityQueue, SynchronousQueue
还有一些子接口,您可能会发现它们很有用:
所有已知子接口:
BlockingDeque<E>, BlockingQueue<E>, deque<E>
队列有多个实现:来自 API:
所有已知的实现类:
AbstractQueue, ArrayBlockingQueue, ArrayDeque, ConcurrentLinkedQueue,
DelayQueue, LinkedBlockingDeque, LinkedBlockingQueue, LinkedList,
PriorityBlockingQueue, PriorityQueue, SynchronousQueue
请注意,AbstractQueue 不是一个具体的类。
其中一些来自包并发,所以如果你正在实现一个作业队列或类似的东西,你应该选择 ConcurrentLinkedQueue 或 PriorityBlockingQueue(对于堆)为 ex。