栈(Stack)是一种后进先出(LIFO:Last In First Out)的数据结构。
Stack
只有入栈和出栈的操作:
push(E)
;pop()
;peek()
。在Java中,我们用Deque
可以实现Stack
的功能:
push(E)
/addFirst(E)
;pop()
/removeFirst()
;peek()
/peekFirst()
。当我们把Deque
作为Stack
使用时,注意只调用push()
/pop()
/peek()
方法,不要调用addFirst()
/removeFirst()
/peekFirst()
方法,这样代码更加清晰。
在Java中,我们用Deque
可以实现Stack
的功能,注意只调用push()
/pop()
/peek()
方法,避免调用Deque
的其他方法。
最后,不要使用遗留类Stack
。
联想:在 C++ 中 Stack 也仅仅是对 Deque 的封装,转而调用 Deque 的接口。