Toc
  1. 介绍
  2. 父类方法(未完待续…)
Toc
0 results found
Espada
数据结构:栈

介绍

last-in-first-out,后进先出是它最大的特点。class Stack extends Vector作为Vector的子类。

Vector底层使用数组存储数据,所以Stack也是如此。

Stack类自身的一些方法:

方法 方法描述
boolean empty() 测试堆栈是否为空。
Object peek() 查看堆栈顶部的对象,但不从堆栈中移除它。
Object pop() 移除堆栈顶部的对象,并作为此函数的值返回该对象。
Object push(E item) 把项压入堆栈顶部。
int search(Object o) 返回距离栈顶最近的相同元素的距离,返回对象在堆栈中的位置,以 1 为基数。

其中search方法比较特殊,返回的是该元素的位置,但是从1开始的,这个不是数组下标。源码里是这样写的:

public synchronized int search(Object o) {
int i = lastIndexOf(o);
if (i >= 0) {
return size() - i;
}
return -1;
}

如果该栈不存在任何元素,使用pop和peek方法会报NPE。

以上方法都是用了synchronized进行修饰,确保线程同步。

父类方法(未完待续…)

龙鸣
"老罗"
本文作者:Espada
版权声明:本文首发于Espada的博客,转载请注明出处!