使用Java实现栈时,不推荐使用stack类。
Java官方推荐使用Deque替代Stack使用。Deque堆栈操作方法:push()、pop()、peek()。
【Java】Java双端队列Deque使用详解_dequeuejava-CSDN博客
Java 程序员,别用 Stack?!_工作中会用到stack类么-CSDN博客
开发者可以选择合适的数据结构来定义 Queue;
而 Queue 的更上层使用者,无需知道 q1 或者 q2 的实现细节,从他们的角度看,只要能调用 Queue 的相关方法:peek, poll, offer 等等,来满足上层的业务需求,就好了。
而且这样做,完美解决了之前说的,继承关系把父类的所有方法都拿过来的问题。接口的设计相当于做了访问限制。LinkedList 中有很多方法,但是,当我们使用 LinkedList 实现 Queue 接口的时候,用户只能调用 Queue 中定义的方法。(摘自上文博客)
Queue接口:
Deque接口:
实现类:LinkedList、ArrayDeque、PriorityDeque(优先级队列)