栈(stack)是一种先进后出(Last In First Out,LIFO)的数据结构,类比于现实生活中的堆栈。栈具有两个基本操作:入栈(push)和出栈(pop)。入栈表示将元素放入栈顶,而出栈表示从栈顶取出元素。
下面是一个使用Java示例来说明如何理解栈:
import java.util.Stack;
public class StackExample {
public static void main(String[] args) {
// 创建一个栈对象
Stack<Integer> stack = new Stack<>();
// 入栈操作
stack.push(1);
stack.push(2);
stack.push(3);
// 出栈操作
int topElement = stack.pop(); // 输出:3
System.out.println(topElement);
// 查看栈顶元素
int peekElement = stack.peek(); // 输出:2
System.out.println(peekElement);
// 判断栈是否为空
boolean isEmpty = stack.isEmpty(); // 输出:false
System.out.println(isEmpty);
// 获取栈的大小
int size = stack.size(); // 输出:2
System.out.println(size);
}
}
在这个示例中,我们首先创建了一个整型的栈对象 `stack`。然后,通过调用 `push` 方法将元素 1、2 和 3 入栈。接下来,我们使用 `pop` 方法将栈顶的元素 3 出栈,并将其赋值给变量 `topElement`。通过调用 `peek` 方法,我们可以查看栈顶的元素,它是 2,赋值给变量 `peekElement`。之后,我们演示了判断栈是否为空的 `isEmpty` 方法,它返回 `false`。最后,我们通过调用 `size` 方法获取栈的大小,即 2。