if语句中的stack.pop()

时间:2017-11-23 00:01:27

标签: java stack lifo

我想知道在if语句中从Stack数据结构调用public void pop() { if(stack.pop() == min) min=stack.pop(); } 方法是否会从堆栈中弹出第一个元素?

以下是代码示例:

public void pop() {
    int poppedOff = stack.pop();
    if(poppedOff == min) min=stack.pop();
}

这会有用吗?或者最好这样声明:

{{1}}

我假设这些都是做同样的事情,但我不完全确定。

1 个答案:

答案 0 :(得分:2)

是。它会在每次调用pop时弹出一个元素。使用peek()或在致电pop()时保存该值(如第二个示例)。此外,将min设置为等于该值时的值是没有意义的。