概要
- 类继承关系
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<E>
java.util.Vector<E>
java.util.Stack<E>
- 定义
publicclass Stack<E> extends Vector<E> {
}
实现
Stack继承于Vector, 在此基础上实现了Stack所要求的后进先出(LIFO)的弹出及压入操作。提供了push、pop、peek三个主要的方法。
- pop
public synchronized E pop() {
E obj;
int len = size();
obj = peek();
removeElementAt(len - 1);
return obj;
}
peek()获取了数组中的最后一个元素,removeElementAt()将其删除。
- peek
public synchronized E peek() {
int len = size();
if (len == 0)
throw new EmptyStackException();
return elementAt(len - 1);
}
- push
public E push(E item) {
addElement(item);
return item;
}
push操作是调用了Vector的addElement方法。
注:
- Stack 基于 Vector 实现,支持 LIFO。