栈是一种受限的线性表,先进后出,后进先出。
Java的栈数据结构是通过Vector实现的,对外提供了pop、push、peek等接口。
入栈方法复用了Vector的addElement,直接在数组尾部加入一个元素。
public synchronized void addElement(E obj) {modCount++;add(obj, elementData, elementCount);}
出栈方法的实现逻辑是取出数组尾部的元素,然后再删除尾部元素。
public synchronized E pop() {E obj;int len = size();obj = peek();removeElementAt(len - 1);return obj;}
