码迷,mamicode.com
首页 > 编程语言 > 详细

Java学习笔记32

时间:2015-03-09 22:34:20      阅读:291      评论:0      收藏:0      [点我收藏+]

标签:java   集合      stack   后进先出   

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  情绪控_ 

Java学习笔记32

标签:java   集合      stack   后进先出   

原文地址:http://blog.csdn.net/hai_qing_xu_kong/article/details/44159585

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!