java 关于stack 的语法解析

最近偶然开始对stack进行研究,发现这个还蛮简单的,与类似的链表集合不一样的是,stack可以通过直接new stack()创建。

stack数据存储方式为“后进先出”的方式获取【下载地址】  ,例如:

Stack<String> stack = new Stack<String>();
		stack.add("zhangsan");
		stack.add("lisi");
		stack.add("wangwu");
		stack.add("qianliu");
		stack.add("zhaoda");
		int index = stack.search("qianliu");// 寻找对象位置
		int index1 = stack.search("zhaoda");// 寻找对象位置
		System.out.println("位置为:"+index+":"+index1);
		stack.add(3, "孙二娘");
		
		String first=stack.firstElement();
		System.out.println("first="+first);
		stack.push("王五");
		System.out.println("top="+stack.lastElement());
</pre><span style="color: rgb(63, 63, 63); line-height: 30px;">在stack中,可以发现最后添加的数据“王五”需要通过lastElement方法获取,如果需要采用search获取位置index,那么可以预计位置为1.</span><p style="padding-top: 0px; padding-bottom: 0px; font-size: 14px; color: rgb(63, 63, 63); line-height: 30px;"></p><p style="padding-top: 0px; padding-bottom: 0px; font-size: 14px; color: rgb(63, 63, 63); line-height: 30px;">stack中对数据已经存在的数据的操作方法都提供了返回参数如:String delete=stack.pop();<br style="padding: 0px;" />stack提供了直接添加入list集合的方法。</p><p style="padding-top: 0px; padding-bottom: 0px; font-size: 14px; color: rgb(63, 63, 63); line-height: 30px;">下面是对stack中数据的遍历:</p><p style="padding-top: 0px; padding-bottom: 0px; font-size: 14px; color: rgb(63, 63, 63); line-height: 30px;"></p><pre code_snippet_id="615026" snippet_file_name="blog_20150309_3_8467051" name="code" class="java" style="font-family: Arial, Helvetica, sans-serif; padding: 5px; border: 1px dotted rgb(170, 170, 170); color: rgb(63, 63, 63); line-height: 30px; background-color: rgb(246, 246, 246);">Iterator<String> it=stack.iterator();
		while(it.hasNext()){
			String object=it.next();
			System.out.print(object+",");
		}
java支持堆栈中对象元素为null,也可以通过设置setSize(int num)使得数据为null。

最后介绍一下在堆栈中添加list集合:

Stack<String> stack = new Stack<String>();
		stack.add("zhangsan");
		stack.add("lisi");
		stack.add("wangwu");
		stack.add("qianliu");
		stack.add("zhaoda");
		stack.add(null);
		List<String> list=new ArrayList<String>();
		list.add("A");
		list.add("B");
		list.add("C");
		stack.addAll(list);
		System.out.println("size="+stack.size());
		Iterator<String> it=stack.iterator();
		while(it.hasNext()){
			String object=it.next();
			System.out.print(object+",");
		}
输出结果为:size=9
zhangsan,lisi,wangwu,qianliu,zhaoda,null,A,B,C,

以上对stack的操作皆来自于对jdk中stack自带方法的处理。并不具备实际的企业开发意义,但是了解堆栈也为以后选择存储数据提供了一个新的方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值