用java 先进后出的栈类
时间: 2024-10-28 09:10:12 浏览: 7
java数据结构之java实现栈
在 Java 中,我们可以使用 `java.util.Stack` 类来实现先进后出 (Last In First Out, LIFO) 的栈数据结构。这个类是 Vector 类的一个子类,它实现了 Deque 接口,允许我们在两端添加和删除元素。
创建一个简单的 Stack 类型的栈:
```java
import java.util.Stack;
public class MyStack {
private Stack<Integer> stack; // 使用 Java 自带的 Stack
public MyStack() {
this.stack = new Stack<>();
}
// 入栈操作
public void push(int value) {
stack.push(value);
}
// 出栈操作
public int pop() {
if (!stack.isEmpty()) {
return stack.pop();
} else {
throw new EmptyStackException(); // 当栈为空时抛出异常
}
}
// 查看栈顶元素但不移除
public int peek() {
if (!stack.isEmpty()) {
return stack.peek();
} else {
throw new EmptyStackException();
}
}
// 检查栈是否为空
public boolean isEmpty() {
return stack.empty();
}
// 返回栈的大小
public int size() {
return stack.size();
}
}
```
在这个例子中,你可以通过 `push()` 方法将元素放入栈顶,`pop()` 方法移除并返回栈顶元素,`peek()` 方法查看但不移除栈顶元素,`isEmpty()` 判断栈是否为空,以及 `size()` 获取当前栈中的元素数。
阅读全文