Stack中push和pop执行的一些问题

本文探讨了在Java中如何正确地使用Stack类的pop方法,并强调了pop方法与peek方法的区别。当需要检查栈顶元素但不希望其被移除时,应使用peek方法而非pop方法。此外,文章还通过示例代码解释了这一区别的重要性。

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

Stack中push和pop只要出现即会执行(也就是判断时使用类似stack.pop()==x?),如下代码:

Stack<Character> stack = new Stack<Character>();
Character c='{';
if(stack.isEmpty() || stack.pop()!=c){
                return false;
}

  这里虽然pop函数出现在判断中,但是对于栈来说,栈顶元素会弹出后再判断是否等于’{’,所以判断结束后,对于栈来说,同时也执行了一次pop。


  那么如果我们想判断栈顶元素,而不使其弹出,应该怎么做呢?
这里可以使用Stack自带的peek()方法。中文翻译为窥视(还是很好记的!)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值