需要看本系列其他文章的请转到:
正文
对数据结构稍微有些了解的,肯定知道栈的特性是:先进后出。它的性质和队列有些相似,都可以通过他们的特性在某些场景发挥很好的作用。下图描述了栈的特性:
在java中使用Stack这个类来描述栈,我们一起来看一下。
public class Stack<E> extends Vector<E> {
...
}
可以看到Stack是继承自Vector的,Vector同ArrayList一样,是一个比较古老的类,它是线程安全的。Stack中大部分方法都直接调用的是Vector的,所以也是线程安全的。
Stack中有几个常用的方法:
public E push(E item)// 入栈一个元素
public synchronized E pop()// 出栈一个元素
public synchronized