使用ArrayList实现栈这种数据结构(弹栈和压栈)
时间: 2024-05-14 19:19:57 浏览: 73
Java模拟栈和队列数据结构的基本示例讲解共4页.pdf
可以使用Java中的ArrayList来实现栈,ArrayList是一个可以动态增长和收缩的数组,可以方便地实现栈的弹栈和压栈操作。
具体实现如下:
```java
import java.util.ArrayList;
public class MyStack {
private ArrayList<Object> list = new ArrayList<Object>();
// 压栈操作
public void push(Object obj) {
list.add(obj);
}
// 弹栈操作
public Object pop() {
if (list.isEmpty()) {
throw new RuntimeException("栈为空!");
}
return list.remove(list.size() - 1);
}
// 获取栈顶元素
public Object peek() {
if (list.isEmpty()) {
throw new RuntimeException("栈为空!");
}
return list.get(list.size() - 1);
}
// 判断栈是否为空
public boolean isEmpty() {
return list.isEmpty();
}
// 获取栈的大小
public int size() {
return list.size();
}
}
```
这样就可以使用ArrayList来实现栈了,使用时可以直接调用MyStack类中封装好的压栈、弹栈、获取栈顶元素、判断栈是否为空以及获取栈的大小等方法。
阅读全文