Stack
Stack
简述
Stack 简介
Stack 的 Vector 的子类,因此其性能会比较差,首选 ArrayDeque,它有着比 LinkedList (当作栈或队列使用时)有着更好的性能,当然我们可以先从 Stack 类熟悉栈的主要数据结构。
数据结构和核心方法
对比 Vector 理解,拓展了栈方法。
public class Stack<E> extends Vector<E> {
/** 添加元素到栈顶 */
public E push(E item) {
addElement(item);
return item;
}
/** 取出且移除栈顶元素 */
public synchronized E pop() {
E obj;
int len = size();
obj = peek();
removeElementAt(len - 1);
return obj;
}
/** 仅取出栈顶元素 */
public synchronized E peek() {
int len = size();
if (len == 0)
throw new EmptyStackException();
return elementAt(len - 1);
}
}