Java 如何通过代码模拟这样的栈操作过程?
时间: 2024-10-15 13:14:45 浏览: 19
在Java中,我们可以使用`java.util.Stack`类或者自定义`Stack`接口来模拟栈的操作过程。这里是一个简单的例子,展示如何创建一个基本的栈并实现常见的栈操作:
```java
import java.util.Stack;
// 自定义一个Stack接口或类,如果需要的话
public class MyStack<T> {
private Stack<T> stack = new Stack<>();
// 添加元素到栈顶
public void push(T item) {
stack.push(item);
}
// 删除并返回栈顶元素(如果有)
public T pop() {
if (!stack.isEmpty()) {
return stack.pop();
} else {
throw new EmptyStackException("Stack is empty.");
}
}
// 查看栈顶元素(但不删除),如果没有则抛异常
public T peek() {
if (!stack.isEmpty()) {
return stack.peek();
} else {
throw new EmptyStackException("Stack is empty.");
}
}
// 检查栈是否为空
public boolean isEmpty() {
return stack.isEmpty();
}
// 返回栈的大小(元素数量)
public int size() {
return stack.size();
}
// 清空整个栈
public void clear() {
stack.clear();
}
}
// 使用示例
public static void main(String[] args) {
MyStack<Integer> stack = new MyStack<>();
stack.push(10);
stack.push(20);
System.out.println(stack.pop()); // 输出20
System.out.println(stack.peek()); // 输出10
System.out.println(stack.isEmpty()); // 输出false
}
```
阅读全文