定义:队列是一种线性结构,遵循先进先出(FIFO)规则,并且只能在队前删除,对尾插入。
代码实现
- 所以实现队列只需要提供队前删除的方法和对尾插入的方法
- 可以通过数组实现,也可以通过链表实现,JDK中ArrayDeque是通过数组实现的队列(双向队列),LinkedList,则是通过双向链表实现的队列(可以作为栈来看)
- 具体实现略
- JDK中的队体系
(常见)
:
继承于Collection接口的Queue,里面的方法基本就是队列的基本操作方法(同时也具有Collection里面的方法)
下一层 :
实现Queue接口的抽象类AbstractQueue,这个类实现了接口中的队列特色方法,然后就是继承Queue接口的Deque(双向队列)
第三层:
继承AbstractQueue类的PriorityQueue(优先级队列)。实现接口Deque接口的ArrayDeque(数组双向队列),LinkedList(双向链表队列)