搜索 K
Appearance
博客正在加载中...
Appearance
栈(Stack)是一种后进先出(LIFO:Last In First Out)的数据结构,使用非常广泛,例如在方法调用的时候就是通过栈来维护调用层次的。
Stack 只有入栈和出栈的操作:
push(E);pop();peek()。在 Java 中,我们用 Deque 可以实现 Stack 的功能:
push(E)/addFirst(E);pop()/removeFirst();peek()/peekFirst()。为什么 Java 的集合类没有单独的 Stack 接口呢?因为有个遗留类名字就叫 Stack,出于兼容性考虑,所以没办法创建 Stack 接口,只能用 Deque 接口来“模拟”一个 Stack 了。
当我们把 Deque 作为 Stack 使用时,注意只调用 push()/pop()/peek() 方法,不要调用 addFirst()/removeFirst()/peekFirst() 方法,这样代码更加清晰。