Java类-Stack的学习

本文介绍Java堆栈的基本概念、实现及其在实际应用中的操作方法,通过示例展示了如何使用Java堆栈进行数据存储与检索。
java.lang.Object
  继承者 java.util.AbstractCollection<E>
      继承者 java.util.AbstractList<E>
          继承者 java.util.Vector<E>
              继承者 java.util.Stack<E>
实现
Serializeble,Cloneable,Iterable<E>,Collection<E>,List<E>,RandomAccess
Stack 位于java.util包,父类是Vector
首次创建堆栈时,它不包含项
方法:
boolean empty() 测试堆栈是否为空
E peek() throws EmptyStackException 查看栈顶的对象,但是不移除
E pop() throws EmptyStackException 移除栈顶对象,并且作为函数的参数返回该对象
E push(E item) 把对象压入栈顶,并且作为函数参数返回该对象

E search(Object o) 返回对象在堆栈中的位置,以1为基数。返回值 -1 表示此对象不在堆栈中。


import java.util.Stack;
class StackTest 
{
	public static void main(String[] args) 
	{
		Stack<String> stack = new Stack<String>();//Character
		
		//System.out.println(stack.peek());//首次创建堆栈时,它不包含项 Exception in thread "main" java.util.EmptyStackException
		stack.push("abc");//向栈中压入数据
		//stack.push(1);//错误: 不兼容的类型: int无法转换为String
		stack.push("bcd");
		System.out.println(stack.push("cde"));
		System.out.println(stack.search("abc"));//栈顶为1
		while(!stack.empty()){
			System.out.println(stack.pop());//移除并取出栈顶元素
			//System.out.println(stack.peek());//取栈顶元素,但是不移除
		}
		System.out.println(stack.search("abc"));//-1 栈中不存在元素,返回-1
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值