Java Stack 栈 常用方法

本文介绍了Java中的Stack栈,它是Vector类的子类,支持后进先出(LIFO)操作。主要讲解了Stack的常用方法,包括创建空栈、压栈、判断栈是否为空、获取栈顶元素以及移除栈顶元素等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Stack 栈

简介
  • stack 类是 Vector 类的一个子类,它实现了标准的后进先出的栈
常用方法
序号方法作用
1boolean empty()判断栈是否为空
2Object peek()查看栈顶部的对象,但不从堆栈中移除它
3Object pop()移除栈顶部的对象,并作为此函数的值返回该对象。
4Object push(Object obj)把元素压入栈顶部
5int search(Object obj)返回对象在堆栈中的位置,从栈顶往下开始查找。
用法讲解

创建一个空的字符栈

Stack<Character> stack = new Stack<Character>();
System.out.println("stack: " + stack); // stack: []

将元素 R 压入栈顶部

Stack<Character> stack = new Stack<Character>();
stack.push('R');
System.out.println("stack: " + stack); // stack: [R]

判断栈是否为空

Stack<Character> stack = new Stack<Character>();
System.out.println(stack.empty()); // true
stack.push('R');
System.out.println(stack.empty()); // false

移除栈顶元素,但不移除

Stack<Character> stack = new Stack<Character>(); 
stack.push('R');
System.out.println("stack: " + stack); // stack: [R]
System.out.println(stack.peek()); // R
System.out.println("stack: " + stack); // stack: [R]

移除栈顶元素;如果栈为空会引起EmptyStackException

Stack<Character> stack = new Stack<Character>(); 
stack.push('R');
System.out.println("stack: " + stack); // stack: [R]
System.out.println(stack.pop()); // R
System.out.println("stack: " + stack); // stack: []
try {
	stack.pop();
 } catch (EmptyStackException e) {
      System.out.println("empty stack"); //empty stack
 }

查询元素在栈中的位置;多个相同元素返回离栈顶最近的;没有则返回-1

Stack<Character> stack = new Stack<Character>();
stack.push('E');
stack.push('A');
stack.push('W');
stack.push('A');
stack.push('Q');
stack.push('R');
System.out.println(stack.search('R')); //1
System.out.println(stack.search('Q')); //2
System.out.println(stack.search('A')); //3
System.out.println(stack.search('D')); // -1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值