Stack继承了Vector类,Stack类似于“栈”,它是一种后进先出(LIFO)的对象堆栈,通过五个操作对类Vector进行扩
展,允许将向量视为堆栈。它提供了通常的push和pop操作,以及取堆栈顶点的peek方法,测试堆栈是否为空的
empty方法、在堆栈中查找并确定到堆栈顶距离的search方法。
我们来看下图,加深对栈的理解:
根据上图,我们知道Stack类似于栈,我们将栈比喻成一个桶,底部是封住的,现在我们现将Object_1存入栈中,然
后是Object_2接着是Object_3最后是Object_4,依次存入栈中,如果现在我们想要获取栈底的元素,唯一的方法就
是先将上面的元素依次出栈,才能获取栈底元素,因此Vector是一个后进先出的栈。
以下是Vector类的使用方法:
public class Main {
public static void main(String[] args) {
/*
* 创建一个空的堆栈
*/
Stack stack=new Stack();
/*
* 检测当前的堆栈是否为空(空返回true,反之返回false),以下堆栈为空
*/
System.out.println(stack.empty());
//接下来将几个元素通过push入栈
stack.push("Object_1");
stack.push("Object_2");
stack.push("Object_3");
stack.push("Object_4");
//现在我们在堆栈中查找指定的元素,并返回这个元素所在的位置
//以下输出:2
System.out.println(stack.search("Object_3"));
/*
* 通过peek查看堆栈顶部的对象,但不从堆栈中移除它。
*/
//输出:Object_4
System.out.println(stack.peek());
//输出:[Object_1, Object_2, Object_3, Object_4]
System.out.println(stack);
/*
*通过pop 移除堆栈顶部的对象,
*并作为此函数的值返回该对象。
*/
//输出:Object_4
System.out.println(stack.pop());
//输出:[Object_1, Object_2, Object_3]
System.out.println(stack);
}
}
转载请注明出处:http://blog.csdn.net/hai_qing_xu_kong/article/details/44159585 情绪控_