什么是Queue集合?
答:Queue用于模拟队列这种数据结构。队列通常是指“先进先出(FIFO)”的容器。队列的头部保存在队列中存放时间最长的元素,尾部保存存放时间最短的元素。新元素插入到队列的尾部,取出元素会返回队列头部的元素。通常,队列不允许随机访问队列中的元素。
Queue接口中定义了如下的几个方法:
void add(Object e): 将指定元素插入到队列的尾部。
object element(): 获取队列头部的元素,但是不删除该元素。
boolean offer(Object e): 将指定的元素插入此队列的尾部。当使用容量有限的队列时,此方法通常比add(Object e)有效。
Object peek(): 返回队列头部的元素,但是不删除该元素。如果队列为空,则返回null。
Object poll(): 返回队列头部的元素,并删除该元素。如果队列为空,则返回null。
Object remove(): 获取队列头部的元素,并删除该元素。
Queue接口有一个PriorityQueue实现类。除此之外,Queue还有一个Deque接口,Deque代表一个“双端队列”,双端队列可以同时从两端删除或添加元素,因此Deque可以当作栈来使用。java为Deque提供了ArrayDeque实现类和LinkedList实现类。
1.PriorityQueu