JavaSE-集合框架013-队列Queue及双端队列Deque

原文链接
Queue




- 我们可以把
LinkedList当作队列来用,也可以当作链表来用。 LinkedList只是一个实现方式,但是可以具备很多特点- 虽然他是一个链表,但是当你从后加从前取,就是队列(Queue)。当你从后加从后取,就是栈(Stack)

- 目前只用Queue中的方法,如果定义为LinkedList的话,方法太多了
offer,poll,peek的演示


.poll():谁先来谁先取- 取出来并删掉【取出来之后把它从队列的头删掉】
- 相当于remove
.peek():取出来不删掉,只是取出来引用,不删- 相当于get
一共五个值,取第六个时,poll()和remove()的区别


- 如果都能取出来,呢就没什么区别
- 但是当超过范围,取不出来的时候
.poll():方法会返回一个特殊值——null或者falseremove():方法会抛出异常- 所以用它之前需要做判断
Deque【队列(Queue)和栈(Stack)的结合】

- 双端队列:表示两端都可以做取值或者插值的操作
- Deque既可以当
队列用,也可以当栈用

代码演示
LinkedList:实现了队列(Queue)和双端队列(Deque)接口

- 栈的体现(先进后出)

- 队列的体现(先进先出)


