简介
Stack是一个先进先出(LIFO)的队列。通过五个操作扩展了Vector类,所以能被当作栈对待。
分别是,push、pop、peek、empty、search。
类继承关系
方法
//构造一个空对象
public Stack() {
}
//入栈
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);
}
//判断是否为空
public boolean empty() {
return size() == 0;
}
//查找最后一位匹配的数据
public synchronized int search(Object o) {
int i = lastIndexOf(o);
if (i >= 0) {
return size() - i;
}
return -1;
}
可以看到方法具体实现调用Vector对象方法实现。