java首先定义栈,包括入栈、出栈、取栈顶元素,判断栈是否为空,然后编写测试方法
时间: 2024-10-23 17:12:28 浏览: 21
在 Java 中,你可以通过 `java.util.Stack` 类或者更现代的 `java.util.Deque` 接口及其实现(如 `java.util.LinkedList`)来创建和操作栈。以下是定义栈以及其基本操作的一个简单示例:
```java
import java.util.Stack;
public class MyStack {
private Stack<Integer> stack; // 定义一个整数类型的栈
// 构造函数初始化栈
public MyStack() {
stack = new Stack<>();
}
// 入栈方法:push()
public void push(int item) {
stack.push(item);
}
// 出栈方法:pop()
public int pop() throws EmptyStackException {
if (stack.isEmpty()) {
throw new EmptyStackException();
}
return stack.pop();
}
// 取栈顶元素方法:peek()
public int peek() throws EmptyStackException {
if (stack.isEmpty()) {
throw new EmptyStackException();
}
return stack.peek();
}
// 判断栈是否为空
public boolean isEmpty() {
return stack.isEmpty();
}
// 测试方法:演示栈的操作
public static void main(String[] args) {
MyStack myStack = new MyStack();
// 入栈
myStack.push(1);
myStack.push(2);
myStack.push(3);
// 输出栈顶元素
try {
System.out.println("Top element: " + myStack.peek());
} catch (EmptyStackException e) {
System.out.println("Stack is empty.");
}
// 出栈
System.out.println("Popped element: " + myStack.pop());
// 检查栈是否为空
System.out.println("Is the stack empty? " + myStack.isEmpty());
}
}
```
在测试方法中,我们展示了如何对栈进行常见的操作,并处理可能出现的 `EmptyStackException`。
阅读全文