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 情绪控_
原文地址:http://blog.csdn.net/hai_qing_xu_kong/article/details/44159585