队列,一种先进先出的数据结构
栈,一种先进后出的数据结构
java中常见的能用作栈和队列的类有:LinkedList
、ArrayDeque
虽然这两个类都实现了栈和队列的相关方法,但是更建议使用ArrayDeque
我们看看源码中对ArrayDeque的描述:
我们可以看到,注释中有这样一句话:
This class is likely to be faster than Stack when used as a stack, and
faster than LinkedList when used as a queue.
意思就是作为栈使用时比Stack
更快,作为队列使用时比LinkedList
更快。
此类是在java 1.6才出来的,有我们著名的“并发大师” Doug Lea 参与编写,所以如果要使用栈和队列,建议使用此类。
常用的操作队列的方法有:
常用的操作栈的方法有:pop()、push(),这个比较简单,建议去源码中自行探索。