java构建数组类实现栈功能
时间: 2024-10-16 17:08:46 浏览: 19
java_code.zip_构建数组的最大MaxTree
在Java中,可以创建一个数组类来实现栈(Stack)的功能。这里是一个简单的例子,我们创建一个名为ArrayStack的类,它包含push(压入)、pop(弹出)以及查看顶部元素peek等基本操作:
```java
public class ArrayStack {
private int[] stackData;
private int top; // 栈顶指针
// 构造函数,初始化一个空栈
public ArrayStack(int size) {
stackData = new int[size];
top = -1;
}
// 压入元素
public void push(int value) {
if (top < stackData.length - 1) {
top++;
stackData[top] = value;
} else {
throw new StackOverflowError("Stack is full");
}
}
// 弹出并返回顶部元素
public int pop() {
if (isEmpty()) {
throw new EmptyStackException("Stack is empty");
}
int poppedValue = stackData[top];
top--;
return poppedValue;
}
// 查看但不移除顶部元素
public int peek() {
if (isEmpty()) {
throw new EmptyStackException("Stack is empty");
}
return stackData[top];
}
// 检查栈是否为空
public boolean isEmpty() {
return top == -1;
}
// 返回栈的大小
public int size() {
return top + 1;
}
}
```
阅读全文