一.什么是栈
栈是一个重要的数据结构,它有后进先出的特点。
二.栈的源码解析
2.1栈的继承结构
public class Stack<E> extends Vector<E>
栈继承于Vector,Vector是动态数组。所以栈的其实是一个动态数组。
2.2栈的方法
public E push(E item) {
addElement(item);
return item;
}
这个方法用于添加对象,addeLement是Vector的方法,用于想数组里面添加元素。
public synchronized E peek() {
int len = size();
if (len == 0)
throw new EmptyStackException();
return elementAt(len - 1);
}
peek用于查看栈顶的元素。size是Vector的方法,用于反回元素的个数。
public synchronized E pop() {
E obj;
int len = size();
obj = peek();
removeElementAt(len - 1);