Queue接口总共有六个方法,主要是三大功能,分别是:
- 插入 offer() 和 add()
- 删除 poll() 和 remove()
- 返回头部对象 peek() 和 element()
用其子接口Deque底下的实现类LinkedList链表来当做Queue来进行介绍。
插入:
源码注释:
区别解释:
在未超出队列容量时,用add()与offer()效果是一样的,但是在超出时,add方法会抛出异常;但是offer方法则是会返回false。(相对于LinkedList的来说的话,当作为List来使用的时候建议使用add方法,作为Queue的时候建议使用offer方法)
删除:
源码:
区别解释:
remove方法与poll方法都是删除队列最开始的元素,即开头的元素,并返回删除的对象;他们的区别是,remove方法在队列为空的时候删除会抛出异常;poll方法则是在为空的时候返回null。
返回头部对象:
源码:
区别解释:
element方法和peek方法都是取当前队列的开头元素,类似上面的删除,但是不删除开头元素;他们的区别跟上面的删除一致,element方法在队列为空时会抛出异常,peek方法则是会返回null。